WSLでGUIアプリを動かすためにVcXsrvというX Window サーバーをインストールします。
目次
はじめに
- WSLの導入が済んでいる事を前提としている。以前記事を書いているので参考にしてほしい。
WSLは基本的にターミナル上で操作をおこなうが、WindowsにX Window サーバーというのをインストールすると、GUIアプリが使えるようになる。
VcXsrvをインストールする
VcXsrvをダウンロードする。
https://sourceforge.net/projects/vcxsrv/
ダウンロードできたら、インストーラーを起動してインストールをする。
インストールが完了したら、『高DPI設定の変更』をします。デスクトップかスタートメニューで『XLaunch』を右クリックして、『ファイルの場所を開く』を選択。
『xlaunch(.exe)』を右クリックして、『プロパティ』を選択。
『互換性』をクリックしたのち、『高DPI設定の変更』をクリック。
『高いDPIスケールの動作を上書きします。』にチェックを入れて、『システム』を選択し、『OK』。
VcXsrvを起動して確かめてみる
デスクトップかスタートメニューからXLaunchを起動してみる。
すると、色々と設定項目が並ぶが、基本そのまま『次へ』を押せば大丈夫である。
初回起動時は、Windows Defender ファイラウォールの警告画面が出る。プライベートネットワークとパブリックネットワークの両方にチェックを入れて『アクセスを許可する』をクリックする。
VcXsrvが起動しているかどうかは、通知領域のアイコンがあるか無いかで判断できる。
VcXsrvの起動が確認できたら、WSLを起動させて、次のコマンドを順に入力する。
sudo apt install x11-apps
xeyes
次のように目が表示されたら成功である。
VcXsrvを自動で起動するようにする
Windowsを再起動する度にVcXsrvを起動するのは面倒なので、WSLを起動した時にVcXsrvも起動するように設定をする。
WSLを起動し、 code ~/.bashrc
と打ち込んで、次をファイルの末尾に追記する。
# Start VcXsrv
if ! tasklist.exe | grep vcxsrv.exe > /dev/null ; then
"/mnt/c/Program Files/VcXsrv/vcxsrv.exe" :0 -multiwindow -clipboard -noprimary -wgl > /dev/null 2>&1 &
fi
export DISPLAY=localhost:0.0
export LIBGL_ALWAYS_INDIRECT=1
保存して VsCode を閉じる。次回以降WSLを起動するときは、VcXsrvが起動していなければ勝手に起動してくれる。