WSL2でGUIアプリを動かせるようにしたのでその方法についてまとめます。
参考 github.com
概要
WSLでGUIを表示する流れは次です。
- VcXsrv でディスプレイを用意する
- 上記のディスプレイに IP アドレスとディスプレイ番号でアクセスしてGUIを表示する
VcXsrv のインストール
sourceforgeからダウンロードしてインストールしてください
VcXsrv の起動
スタートメニューから XLaunch を起動します。
「One large windows」を選択し「Display number」 を 「0」にしてください。
Disable access control をチェック
ファイアフォールの設定
「ファイアフォールの状態と確認」を開く
「Windows Defender ファイアウォールを介したアプリまたは機能を許可」をクリック
「設定の変更」を押したあと、一覧から 「VcXsrv windows xserver」のプライベートとパブリックを有効にする
WSL上での設定
.bashrc に次を追加
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0.0
※WSL1だと export DISPLAY=:0
でよいっぽい。
source ~/.bashrc
した後、x11 などをインストールする。
例えば xfce4 をインストールする場合次のコマンドを実行する。
sudo apt install xfce4
これにより xfce4 がインストールできるので次で起動する
startxfce4 &
うまくいくとこんな感じ。