最終更新:2023-04-27
2023年の秋頃、Windows 10 用の WSL と WSL2 がアップデートされました。新しい WSL2 (V2.0 以降) は X-Window の画像を Windows 内に表示する機能 WSLg を内蔵しており、外部 X-Server (VcXsrv 等) が不要になるなど、メリットがあります。
但し、このアップデートは2024年4月現在 Windows Update では配信されないため、手動でアップデートする必用があります。
本記事では、WSL2 の V2.0 以降 (Microsoft Store 版) へのアップデート手順を解説します。尚、このアップデートは、インストール済の Linux ディストリビューションには影響を与えませんので、Ubuntu 等の再インストールは不要です。但し、若干の設定変更が必要となる場合があります。
目次: WSL2 (V2.x) を利用するには、Windows 10 ビルド 19044 以降 または Windows 11 を使用している必用があります。 ・常に最新版の WSL を使える
・Windows Update を実行しなくても、Micorosoft Store からアップデートが随時プッシュ配信される
・X-Window のグラフィックを Windows システムのアプリケーションとして実行可能
・X-Server のアプリをインストールする必用が無い
・Linux のプロセス管理に systemd を利用可能 Windows PowerShell もしくは コマンド プロンプトを使用して、 また、 WSL2 を V2.x 以降にアップデートするためには、PowerShell もしくはコマンド プロンプトを管理者権限で立ち上げて、次の一連の処理を行います。
1. WSL2 の停止: WSL バージョンが 上述のようにコマンドラインで実行する以外に、マイクロソフトストアから直接インストールするという方法もあるらしいですが、私はやったことがありません。
Linux の立ち上げを行い、
動作確認のために Ubuntu を立ち上げて、例えば次のコマンドを打ちます。
xclock や xeys が Windows の1アプリケーションとして実行されている事を確認します。
X-Window とは関係が無いのですが、WSL2 V2.x から Linux のプロセスを管理プログラムとして systemd がサポートされるようになりました。これに伴い、プロセスを起動する init システムの規定値が、SystemV から systemd に変更になりました。このサポート追加により、下記の修正が推奨されます。 root 権限にてエディタで 下へスクロールすると、 ・シャットダウンが出来る様になりましたので、終了時には次のコマンドを打てます。 ・Microsoft Store 内の WSL に関する、マイクロソフトのドキュメント
learn.microsoft.com
・WSL2 の V2.x アップデートに関するマイクロソフトのブログ (英文)
devblogs.microsoft.com
・WSL の Linux で GUI アプリを実行する場合の、マイクロソフトのチュートリアルは次の通りです。
learn.microsoft.com
・WSL の systemd に関するマイクロソフトのドキュメント
learn.microsoft.com
・WSL の systemd サポートに関するマイクロソフトのブログ (英文)
devblogs.microsoft.com 【WSL 関係の目次へ戻る】 【X-Window 関係の目次へ戻る】
前提条件:
Microsoft Store 版に置き換えるメリット:
現在インストールされている WSL2 のバージョンを調べる:
wsl -v
または wsl --version
とコマンドを打った時に、コマンド ライン オプションが無効です
と表示される場合は、古いバージョンの WSL2 を実行しています。wsl --status
とコマンドを打った時に、最終更新日が 22/03/26
、カーネル バージョンが 5.10.102.1
の場合も、古いバージョンの WSL2 を実行しています。WSL2 のアップデート:
wsl --shutdown
2. 停止の確認: wsl --list --verbose
3. アップデート: wsl --update
進捗が%で表示され、最後にLinux 用 Windows サブシステムはインストールされました。
と表示されます。
4. バージョンの確認:wsl --statuswsl --version
2.1.5.0
以降、カーネル バージョンが 5.15
以降で、WSLg のバージョンが表示されていれば、正しくアップデートが行われいます。
Microsoft Store から直接インストールする方法:
Linux の環境変数の修正と動作確認:
DISPLAY
環境変数の修正と、動作確認を行います。
.bashrc
ファイル等で DISPLAY
環境変数にホスト名や IP アドレスを指定していた場合には、:0
に修正を行います。sudo apt install x11-apps -yxclock &xeyes &
Systemd のサポートに対する修正:
/etc/wsl.conf
に次の2行を追加します。[boot]systemd=true
/etc/wsl.conf
を修正 (もしくは新規作成) します。
sudo nano /etc/wsl.conf
または sudo vim /etc/wsl.conf
2. Linux のシェルを exit
で終了します。
3. 管理者権限の Windows PowerShell もしくは コマンドプロンプト でWSLをシャットダウンします。
wsl --shtdown
4. ファイルを修正した Linux のディストリビューションを立ち上げ、systemd が動作している事を確認します。
初回の起動に少し時間が掛かるかもしれません。systemctl list-unit-files --type=service
systemd-*.*
という行が沢山見えるはずです。
多分 less で表示されているはずなので、q
で終了します。
sudo sync;sync;syncsudo systemctl poeroff
参考サイト: