devAlice
← Windows

WSLg — Windows で Linux GUI アプリを動かす

WSL2 の GUI 統合(WSLg)を有効にして、Linux デスクトップアプリをネイティブ Windows ウィンドウとして開く。外部 X サーバーや VcXsrv は不要。

以前、WSL から Linux GUI アプリを動かすには VcXsrv や X410 をインストールし、DISPLAY 環境変数を設定して Windows ファイアウォールを調整する必要があった。**WSLg(WSL GUI)**が登場して(Windows 11 + WSL 0.65 以上)、そのすべてが不要になった — Linux アプリがそのまま Windows ウィンドウとして開く。もともとは複雑な設定が避けられないと思っていた。いまでは WSLg によって設定の複雑さが消えたからこそ、Linux GUI アプリを Windows 上で使う障壁が実質的になくなったと考える。

このガイドは Windows 11 22H2 以上 + WSL 2 + Ubuntu 24.04 で WSLg を有効にし、よく使う Linux GUI アプリ(Firefox、gedit、GIMP、GUI デバッガー)を動かす手順を解説する。

TL;DR

  1. wsl --versionWSL version 2.0+WSLg 1.0+ の両方が表示されれば準備完了
  2. 最新バージョンに更新するには wsl --update
  3. sudo apt install -y x11-appsxcalc — 電卓が Windows ウィンドウとして開けば成功
  4. DISPLAY の設定は不要 — WSLg が自動的に注入する
  5. Wayland アプリには WAYLAND_DISPLAY、X11 アプリには DISPLAY=:0 — 両方が自動設定される

前提条件

  • Windows 11 22H2 以上(Windows 10 21H2 以上でも動作するが、安定性・パフォーマンスは 11 の方が優れる)
  • WSL 2 + Ubuntu 24.04(他のディストリも動作 — Debian、Fedora など)
  • 最新の GPU ドライバー(NVIDIA / AMD / Intel — WSLg は vGPU を使用)

1. WSLg の仕組み(概要)

[Linux GUI アプリ] ──Wayland/X11──> [WSLg システムコンポジター]
                                           │
                                           ▼
                                    [Windows RDP]
                                           │
                                           ▼
                                   [Windows デスクトップ]
  • Linux アプリは通常の Wayland または X11 クライアントとして動作する
  • WSLg が Weston コンポジターを動かし、RDP 経由で Windows に転送する
  • Windows 側から見るとアプリは単なる RDP クライアント — 別途 X サーバーは不要

2. 確認 — すでに動作しているか?

wsl --version
# WSL version: 2.x.x
# WSLg version: 1.x.x  ← 両方あれば OK

WSLg が表示されない場合は更新する:

wsl --update
wsl --shutdown

テスト:

# WSL Ubuntu 内
sudo apt update && sudo apt install -y x11-apps
xcalc          # または xeyes / xclock

Windows に GUI ウィンドウが表示されれば成功。

何も表示されない場合は §8 トラブルシューティング を参照。

3. よく使う GUI アプリ

3.1 Firefox

sudo apt install -y firefox
firefox

WSL Ubuntu の Firefox で HTTPS サイトを閲覧し DevTools を使える。macOS Safari や Windows ネイティブの Firefox と比べると GPU アクセラレーションが限定的なため、重いサイトはやや遅く感じる。

3.2 テキストエディター(gedit、gnome-text-editor)

sudo apt install -y gnome-text-editor
gnome-text-editor /etc/hosts

nano より GUI の方が好みな場合に、sudo 付きで素早く編集するのに便利。

3.3 画像編集(GIMP)

sudo apt install -y gimp
gimp

Photoshop ほど速くはないが、Linux ビルドがそのまま動作する。

3.4 GUI デバッガー(ddd、gdb-gui)

sudo apt install -y ddd
ddd ./my_program

VS Code Remote-WSL を使っていれば ddd は基本不要だが、クラシックな GUI デバッガーが欲しい場合に使える。

3.5 Wireshark(ネットワーク解析)

sudo apt install -y wireshark
sudo wireshark

WSL の仮想ネットワークインターフェースをキャプチャできる。Windows ホストのトラフィックを直接キャプチャするには追加セットアップが必要(wsl --networkingMode=mirrored — Windows 11 22H2 以上)。


4. Wayland vs X11 — 自動選択

WSLg は両プロトコルをサポートしており、両方の環境変数が自動設定される:

echo $DISPLAY
# :0
 
echo $WAYLAND_DISPLAY
# wayland-0
  • Wayland 優先 — 最新の GTK / Qt アプリが Wayland を自動選択(GDK_BACKEND=wayland がデフォルト)
  • X11 フォールバック — Wayland サポートのないアプリは DISPLAY=:0 にフォールバック

特定のアプリに対してプロトコルを強制する:

# X11 を強制
GDK_BACKEND=x11 firefox
 
# Wayland を強制
GDK_BACKEND=wayland firefox

5. GPU アクセラレーション

WSLg は OpenGL / Vulkan アクセラレーション用の vGPU(仮想 GPU)を公開する。CUDA ワークロードも動作する。

確認

sudo apt install -y mesa-utils
glxinfo | grep "OpenGL renderer"
# OpenGL renderer string: D3D12 (NVIDIA GeForce RTX ...) — ホスト GPU が公開されている

ユースケース

  • Blender / Maya などの 3D アプリ
  • ML 可視化(TensorBoard、Plotly Dash)
  • ゲーム(パフォーマンスは限定的だが動作する)

CUDA:NVIDIA WSL ドライバーは Windows 側(https://developer.nvidia.com/cuda/wsl)にインストールする。Linux 内では nvidia-cuda-toolkit のみが必要。


6. オーディオ・マイク・ウェブカメラ

WSLg は PulseAudio も自動接続 — 音声出力は Windows のデフォルト出力にルーティングされる。

sudo apt install -y pavucontrol
speaker-test -c 2     # 左右スピーカーテスト

マイクとウェブカメラはやや複雑:

  • マイク:pavucontrol を開く → 録音タブ → Windows のマイクが表示される(通常 OK)
  • ウェブカメラ:WSLg は USB カメラを直接サポートしない。usbipd-win を使って USB デバイスをアタッチする

7. Linux アプリを Windows スタートメニューにピン留め

WSLg が自動的に登録する:

Win キー → 「Firefox」で検索Firefox (Ubuntu) エントリー → クリックすると WSL が起動して Firefox が開く。

表示されるアプリは ~/.local/share/applications/*.desktop(Linux)から来る。カスタムアプリは独自の .desktop ファイルを書いて登録:

cat > ~/.local/share/applications/my-app.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=My Tool
Exec=/usr/local/bin/mytool
Icon=utilities-terminal
EOF

WSL を再起動するとスタートメニューに表示される。


8. トラブルシューティング

xcalc は実行されるがウィンドウが表示されない

  • wsl --versionWSLg version の行があるか?
  • wsl --updatewsl --shutdown 後に再試行
  • ホスト GPU ドライバーを更新する(WSLg 1.0.62 以上には mesa ソフトウェアフォールバックがあるが、一部の環境では GPU が必要)

フォントが崩れる(非ラテン文字が □□□ になる)

sudo apt install -y fonts-noto-cjk fonts-nanum
fc-cache -fv

クリップボードが同期しない

WSLg はテキストクリップボードを双方向で自動同期する。動かなくなった場合:

  • アプリが Wayland か X11 か確認する。Wayland アプリはクリップボードが失われることがある
  • GDK_BACKEND=x11 を強制して再試行

「GTK theme not found」系の警告

sudo apt install -y adwaita-icon-theme

デフォルト GTK テーマが欠落している。まれなケースで、一部の最小限 Ubuntu イメージで発生する。

一部のキーストロークが GUI アプリに届かない

Ctrl+Shift のコードや日本語/CJK の IME キーが Windows に先取りされる。対処法:

  • Windows IME を無効にする(Win + Space で切り替え)
  • または Linux 内に ibus / fcitx5 をインストールして日本語/CJK 入力を Linux 側で完結させる

アプリが重い(目立つ UI ラグ)

  • GPU アクセラレーションがソフトウェアにフォールバックしている可能性 — glxinfo | grep -i hardware で確認
  • GPU ドライバーを更新する
  • WSL2 の RAM が不足している — .wslconfigmemory=8GB を設定する(wsl-tuning

9. 制限事項

  • Windows 11 / WSL 2 のみ — WSL 1 はサポートなし
  • システムトレイ / ウィジェットなし — Linux のトレイアイコンは表示されない
  • マルチモニターは問題なし;フラクショナルスケーリングは難あり — 125% / 150% スケーリングで一部のアプリがぼやけることがある
  • 自動起動 / バックグラウンドデーモン — Windows 起動時に Linux の systemd サービスを自動起動するには追加設定が必要(systemctl --user + Windows Task Scheduler)

10. 次のステップ


参考リンク

更新履歴

  • 2026-05-16:初稿。WSLg の有効化・よく使う GUI アプリ・GPU アクセラレーション・オーディオ / マイク・スタートメニュー統合・6 つのトラブルシューティング。