WSL2(Linux 用 Windows サブシステム)で Linux GUI アプリを実行する

WSL

概要

最初に行ったこと

現在の環境は Windows 10 Pro/バージョン 21H2/ビルド 19044.2364 なので前提条件は満たしています。

WSLをバージョンアップします。

wsl --update
wsl --shutdown

まずは xclock を実行してみます。

sudo apt install x11-apps -y

動作しませんでした。

~$ xclock
Error: Can't open display:

調査

WSLがバージョンアップできていないようです。

バージョンアップされているかを確認する方法としては、wsl –version を実行してバージョン表示されるかどうかがわかりやすいようです。

PS C:\Windows\system32> wsl --version
コマンド ライン オプションが無効です: --version

下記を参考に Microsoft Update カタログ の KB5020030 のパッチを適用しました。

Windows バージョン 10.0.19045.2251 は、パッケージ化されたバージョンのLinux 用 Windows サブシステムをサポートしていません。
Windows 10 22H2 でストア版のWSLをインストールするとエラーが発生することがあります。と、いうかほぼ起きるようです。 Windows バージョン 10.0.19045.2251 は、パ

wsl –version を実行してバージョン表示されるようになりました。

PS C:\Windows\system32> wsl --version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
MSRDC バージョン: 1.2.3575
Direct3D バージョン: 1.606.4
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windowsバージョン: 10.0.19044.2364
PS C:\Windows\system32>

ストア版WSLのインストール

ストア版のWSLをインストールします。

Microsoft Store を起動し、”wsl” を検索してインストールしました。微妙なデザインのペンギンが目印です(笑)。

wsl_store_edition_install.jpg

ストア版WSLのインストール(Microsoft Store が実行できない環境)の場合

なお、Microsoft Store が実行できない環境では、KB5020030 を適用後、一般ユーザ権限で起動した Windows PowerShell で “wsl –update” を実行することでインストールできました。 インストールの最後の方で管理者権限を使用する情報入力が必要になります。 私の環境では、管理者権限で起動した Windows PowerShell で実行した場合、「致命的なエラーです。」と表示され、インストールできませんでした。

確認

xclockが立ち上がるようになりました。

xclock_on_win.jpg

また、Emacs が立ち上がることが確認できました!

emacs_on_win.jpg

GPU関連

前述の Microsoft Learn の記事では、WSL用 GPU ドライバーの導入が必要とのことで、私が使用している NVIDIA 向けのドライバーの最新を導入し、WSLで動作しているUbuntuのCUDAのドライバも更新しました。

GPU in Windows Subsystem for Linux (WSL)
Delivers machine learning capabilities across industry segments.
1. NVIDIA GPU Accelerated Computing on WSL 2 — CUDA on WSL 12.3 documentation
The guide for using NVIDIA CUDA on Windows Subsystem for Linux.
GameReadyドライバとStudioドライバの違いとは | ゲームPCバンク
Nvidia用のGPUドライバには、2つの種類があることをご存じでしょうか。この2つは「GameReadyドラ

527.56-desktop-win10-win11-64bit-international-dch-whql.exe をインストール

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.0.0/local_installers/cuda-repo-wsl-ubuntu-12-0-local_12.0.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-0-local_12.0.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-0-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda
Copied title and URL