0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL2+VcXsrvでGUIアプリケーションを使う

Posted at

忘れるのでメモ

WSL2をインストールする

VcXsrvをインストールする

VcXsrvを起動する

Multiple windowsを選択して次へ
スクリーンショット 2022-03-28 174456.png

Start no clientを選択して次へ
スクリーンショット 2022-03-28 174510.png

Disable access controlを選択して次へ
スクリーンショット 2022-03-28 174527.png

完了
スクリーンショット 2022-03-28 174545.png

タスクバーにアイコンが表示されます。終了は、右クリックしてExit...を選択する。
スクリーンショット 2022-03-28 175137.png

環境変数の設定とGUIの確認

// ホスト側(Windows)のIPアドレスを設定(自身の環境に合わせてください。)
$ export DISPLAY=192.168.1.2:0
// テスト用のアプリをインストール
$ sudo apt install x11-apps
$ xeyes

目玉が表示されれば完了です。
スクリーンショット 2022-03-28 175458.png

起動時に環境変数を設定する

ホストのIPアドレスがDHCPで動的に割り当てられていると、変わる度に設定するのは面倒です。

/etc/resolv.confやhostnameを設定する情報が見つかりますが動かなかった。

PowerShellからIPアドレスが取れないか試行錯誤する。

PS> Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true | Where-Object -FilterScript { $_.DefaultIPGateway } | Select-Object -ExpandProperty IPAddress | Where-Object -FilterScript { $_ -like "*.*.*.*" }
192.168.1.2

一応、必要なIPアドレスが取れたので、このコマンドを使ってWSL2を起動したら環境変数が設定されるように~/.bashrcへ追記する。

~/.bashrc
export DISPLAY=`powershell.exe -Command '& {(Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true | Where-Object -FilterScript { $_.DefaultIPGateway } | Select-Object -ExpandProperty IPAddress | Where-Object -FilterScript { $_ -like "*.*.*.*" }) + ":0" | Write-Host -NoNewLine }'`

再度WSL2を起動しても正しく設定されるので良しとする。

echo $DISPLAY
192.168.1.2:0
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?