MS_WSLg - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
- 戻る(WSL → WSL2)
- WSLg:Windows Subsystem for Linux GUI
- Windows 11 ビルド 22000 以降で利用可能になる。
- WSL2 上の GUI アプリを RDPで表示させる、
- ある意味、RemoteApp(リモートデスクトップサービス)的な仕組み。
補足(構成の中身): 「RDP で表示」という説明のとおり、
WSLg は専用のシステム ディストリビューションを裏で動かしている。[Windows] mstsc 相当のクライアント(統合表示) ▲ RDP(RAIL / VAIL) [CBL-Mariner] Weston(Wayland コンポジタ)+ FreeRDP + PulseAudio ▲ Wayland / X11 [Ubuntu 等] GUI アプリ(gedit / GIMP / VS Code …)
部品 役割 CBL-Mariner Microsoft の Linux ディストリ。 wsl -l -vに隠しで存在するWeston Wayland コンポジタ。ウィンドウを合成 XWayland X11 アプリを Wayland 上で動かす FreeRDP RDP サーバー側。Windows 側へ画面を渡す PulseAudio 音声を Windows 側へ ユーザーは Ubuntu 側だけを意識すればよいが、
「なぜ RDP が出てくるのか」を知っておくと
表示トラブルの切り分けがしやすい。
-
初めに、Windows 11 で、WSL2 を使用可能にしておく。
-
WSL2 から GUI アプリを起動
-
Windows Terminalから、WSL2 の Ubuntu 20.04 を選択
-
以下のコマンドを実行
sudo apt update sudo apt install gedit -y gedit ~/.bashrc
-
-
画面が開かなかったので、PowerShellから WSL を更新してみる。
wsl --update wsl --shutdown
-
再度、WSL2 の Ubuntu 20.04 上からエディターで
.bashrcを開く。gedit ~/.bashrc

※ 検証環境は、Win10 + WSL2 環境を Win11 にアップグレードした
環境だったので、上記のような手順になったものと思われる。
補足(
wsl --updateが要る理由): 上記のとおり
「画面が開かない →wsl --updateで解決」という流れになったのは、
WSLg が WSL 本体(Store アプリ版)に同梱されているためである。
WSL の入手経路 WSLg OS 同梱版(旧) 含まれないことがある Store アプリ版( wsl --updateで移行)含まれる Windows 10 でも、バージョン 21H2 以降 + Store 版 WSL であれば
WSLg を利用できる(「Windows 11 のみ」ではない)。
補足(うまく動かないときの確認): 典型的な症状と対処。
症状 原因・対処 Error: Can't open display: :0$DISPLAYが未設定。wsl --shutdownして再起動旧 X サーバの設定が残っている .bashrcのexport DISPLAY=...を削除する(WSLg は自動設定)日本語が豆腐(□)になる sudo apt install fonts-noto-cjk日本語入力できない fcitx5-mozc等を導入し、.profileで環境変数を設定2 番目が特に多い。VcXsrv 時代の設定が残っていると、
WSLg が設定した$DISPLAYを上書きしてしまう。
-
【WSL2】Windows11でWSLgを試してみた
https://www.teamxeppet.com/wsl2-win11-install/ -
LinuxのGUIアプリケーションに対応するWSL2 - ASCII.jp
https://ascii.jp/elem/000/004/040/4040474/ -
WSL2ではRDPでLinux GUIアプリのウィンドウを表示する - ASCII.jp
https://ascii.jp/elem/000/004/041/4041422/ -
Win11のWSL2 (WSLg)を日本語化 & Mozcで日本語入力 - AsTechLog
https://astherier.com/blog/2021/07/windows11-wsl2-wslg-japanese/
-
WSL で Linux GUI アプリを実行する
https://learn.microsoft.com/windows/wsl/tutorials/gui-apps -
microsoft/wslg
https://github.com/microsoft/wslg
Tags: 移行, Windows, Linux, Linuxサブシステム, 仮想化