個人的に過去10年以上 Linux 機でやってきたので色々大変だったから最終形態だけをメモ.Windows を消し飛ばさず,デュアルブートにもしない範囲で生き残るには.
Abstract:
- 現時点では WSL2 (windows subsystem for linux) に なんらかの linux をインストールするのが一番シンプル,かつよくできている! WSL 下でインストールした GUI アプリケーションもちゃんと起動するが,日本語入力を受け取れないので,そこは(例えばブラウザとかは) windows 下でインストールするほうがよい.
- Windows の挙動の調整,たとえばキーマップとか ウィンドウの tiling とかは公式に提供されている Microsoft Powertoys でわりといい感じにいじれる.
- virtualbox を使う手も十分あるが,手軽さとパフォーマンス的には若干劣るかも?
- Windows はたまに起動するとアップデート→その後のバックグラウンドで色んな処理,で常に異常にもっさりする印象が付きまとうが,アップデートしてしばらく待ち,何回か再起動するとそのうち十分動作が安定するようになるので,常用するならまずは待ってみること.
さきに Virtualbox の話
- manjaro を arch linux としてインストールしてみた
- インストール前の ISO image からの起動のところでも完全に固まったかと思ったら十分長い時間待つと動く,みたいなことがあるかと思えば,別の時にはすっとうまくいったりして読みづらかった
- 一番のハマりどころは video memory がめちゃくちゃ小さい値になっていて,かつこれが新しい仮想マシンを作るときのウィザードでは特に尋ねられないこと.
- Manjaro のイメージで起動はできた後で,インストーラを動かそうとしたところで固まる,みたいな挙動はおそらくこの video memory の不足が原因.手動で最大の値に設定したら改善してインストールはできた
- のでこっちに住まっても良さそうだが,起動にかかる時間とか諸々考えると WSL のほうがひとまずはやりやすいかもなあという気配.
WSL2
- 公式ドキュメントが整っている!!
- https://learn.microsoft.com/en-gb/windows/wsl/install
- に沿ってやれば特にハマるところはないと思う.とりあえず powershell から
wsl --install
で おおむね OK. - git 入れて, vim のビルドに必要なパッケージを
apt
でそろえて,ビルド, gvim の起動も含めてとくに引っかからずに行ける - 基本的に Linux 上で生きているつもりで色々やることができる.
apt
で入れた Blender も,まだ動作確認はしてないけどちゃんと起動はする.Windows 側のファイルは/mnt/c
などにマウントされている- Vim のプラグインマネージャとしては itchyny/miv を愛用しているのだが,これの linux 用のビルド済みバイナリがそのまま動く
- ちなみに Vimmer なので試してないが,VS code で拡張機能を入れると, WSL2 上から (Windows で入れたほうの?) VS code を起動すると,WSL2 上の諸々のツールチェイン(ビルドにつかうやつとか)をうまいこと使ってくれるらしい.多分 WSL2 上で VS code をインストールしても同じように WSL 上のツールを使うことができるが,こちらだと下記の通り日本語入力が通せなさそう.
WSL2 上で少し引っかかったところ
- curl がたまに失敗することがあって(
connection reset by peer
. 成功することもある),どうも IPv6 が通らない説があるかもしれない.ひょっとして関連 : Accessing network applications with WSL | Microsoft Learn - Vim などで使う,例えば
Ctrl-V
をターミナル(?)が paste として食っていてうまくわたらなかったことがあった.右クリック, settings, actions から該当の hotkey を抜いてOK.
WSL2 上の Vim とのファイル関連付けをしたい
- https://learn.microsoft.com/en-gb/windows/wsl/filesystems
- reddit: How to set WSL program as default program for opening files? が参考になる.
- ファイル名の中のスペースとかの関係で,とりあえず
ftype WSLVim=wsl bash -ic "vim '$(wslpath "%1")'"
で試している(これで正しいかわからない). - このあと
assoc .md=WSLVim
などで適宜対応.
WSL2 上の GUI アプリケーションと日本語入力
- WSL 上で別個に日本語入力の環境を作るほか,今のところはしようがないみたい.
- 日本語を大量に打つのは ブラウザ か Obsidian でいずれも Windows 側にインストールしていて,コード書くときはそんなに日本語使わないから,ひとまず保留でそのままにしている.
- いっそこれを機に gvim 上で SKK を使うというのを試す手もあるかと思っている.
PowerToys
- Keyboard Manager とか FansyZone で結構好みの挙動に寄せることができる.KDE の tiling 機能程度であればまあまあカバーできる感じ
Windows 上のソフトウェア管理について
- 知らない間に Microsoft Store がそれなりに使いやすくなっていて,よく使うやつはここで中央集権的に(パッケージマネージャ的に)管理できそう.
ニッチなキーボード設定
- Linux 環境では,物理的には日本語キーボードなのを US キーボードとして認識してもらって,たとえば全角半角キーでは ` が出るけど,なんかうまいこと変換/無変換キーは効く,みたいな状態になっている(無変換キーは日本語入力の toggle に使っている)
- Windows 全体の設定としては,日本語入力 IME のオプションとしてキーボード配列を US にすることはできるが,変換・無変換キーなどは死んでしまう
- これは上記の Keyboard Manager から
IME Non-Convert
(mode-change
はうまくいかなかった)に割り当てたりしてうまくいった
ひとまず現時点でのメモはこんな感じか.しばらく忍耐が必要だが,そのあとは案外悪くはないです.