さめたコーヒー

kbaba1001's blog.

WSL2でLinuxのGUIアプリを動かす

WSL2でGUIアプリを動かせるようにしたのでその方法についてまとめます。

参考 github.com

概要

WSLでGUIを表示する流れは次です。

  • VcXsrv でディスプレイを用意する
  • 上記のディスプレイに IP アドレスとディスプレイ番号でアクセスしてGUIを表示する

VcXsrv のインストール

sourceforgeからダウンロードしてインストールしてください

sourceforge.net

VcXsrv の起動

スタートメニューから XLaunch を起動します。

f:id:kbaba1001:20200429141205p:plain
XLaunch

「One large windows」を選択し「Display number」 を 「0」にしてください。 f:id:kbaba1001:20200429141246p:plain

f:id:kbaba1001:20200429141352p:plain

Disable access control をチェック f:id:kbaba1001:20200429141459p:plain

ファイアフォールの設定

「ファイアフォールの状態と確認」を開く f:id:kbaba1001:20200429141608p:plain

「Windows Defender ファイアウォールを介したアプリまたは機能を許可」をクリック f:id:kbaba1001:20200429141802p:plain

「設定の変更」を押したあと、一覧から 「VcXsrv windows xserver」のプライベートとパブリックを有効にする

f:id:kbaba1001:20200429141930p:plain

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 &

うまくいくとこんな感じ。

f:id:kbaba1001:20200429142258p:plain