Windows 10 の WSL2 で i3 window manager を使う


Windows 10 の 2004 update で、WSL が WSL2 になりました。

Windows 10 で i3 window manager を使う で書いたように Windows 10 に VcXsrv を入れれば Linux Desktop 環境を Windows 10 の仮想デスクトップの一つで使えてとても便利で快適なのですが、 WSL2 にしてみたらうまく動かなかったので改訂しました。

DISPLAY が見つからない

以前作った vb スクリプトで動かないので、どういうことなのか調べるためにまずは手作業で VcXsrv を動かした上で、Windows Terminal 上の Debian からスクリプトを動かしてみました。

DISPLAY が見つからない、と怒られました。

DISPLAY を見つけろ!

いろいろと調べてみると、Installing GitKraken in WSL 2 という medium に書かれているように

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2; exit;}'):0.0

すれば見つかりました。謎のWSL2。
というか、基本的には上記の記事通りに設定していけば WSL2 から VcXsrv へ X アプリケーションを表示出来ます。

ただし、Windows Firewall ルールを更新するのと、VcXsrv でローカル認証をオフにする必要があります。

VcXsrv でローカル認証をオフにする

xlaunch のダイアログで指定するんじゃなくて、コマンドラインで指定したいけれどもオプションパラメータが判らないので探しました。

vbs じゃなくて pwsh + bat

vbs 更新しても良かったのかもしれませんが、なんとなく powershell core の pwsh にしました。といっても単にコマンドを並べただけ…。

更新した設定ファイルと起動スクリプト類

ここ にあります。

WSL2 はとっても快適!

Linux ファイルシステムのIO速度が格段に上がっているので、すべての動作が速くなった気がします。Linux GUI アプリケーションもとても快適に動きます。
Firefox なんて、下手すると Windows 版よりも WSL2 + VcXsrv の Linux 版の方が速い、かも。