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?

Windows 11 + WSLg で Linux GUI アプリを表示する方法【Xサーバー不要】

Posted at

Windows 11 では、WSL(Windows Subsystem for Linux)に GUI機能(WSLg) が標準搭載されています。
これにより、Xサーバー(VcXsrv や Xming)を使わずに Linux の GUI アプリが表示可能です。


対象読者

  • Windows 11 + WSL2 を使っている
  • Ubuntu など Linux ディストリビューションをWSLにインストールしている
  • xclockmatplotlib.pyplot.show() を使いたい
  • VcXsrvなど外部XサーバーなしでGUI表示したい

必要条件の確認

WSL2 を使っているか?

wsl -l -v

出力例:

  NAME      STATE           VERSION
* Ubuntu    Running         2

VERSION が 2 であれば OK。


GUI アプリが動くか確認

xclock を試す(最小構成のGUIアプリ)

sudo apt update
sudo apt install -y x11-apps
xclock

✅ 時計ウィンドウが Windows 側にポップアップ表示されれば成功!


DISPLAY を自分で設定してはいけない

WSLg は DISPLAY自動で適切に設定します。
以下のような設定が .bashrc.zshrc に入っていると 表示できなくなる原因になります。

# ❌ NG例:以下のような設定は削除またはコメントアウト
export DISPLAY=$(grep nameserver /etc/resolv.conf | awk '{print $2}'):0

修正手順:

nano ~/.bashrc
# 上記の DISPLAY 行をコメントアウト
source ~/.bashrc

Python でも plt.show() が使える

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], [1, 4, 9])
plt.title("WSLg Test")
plt.show()  # Windowsにプロットウィンドウが表示される!

よくあるエラーと対処法

エラー例 原因・対策
Error: Can't open display: DISPLAYを自分で設定している → unset DISPLAY
Missing charsets in String to FontSet フォント警告 → 無視してOK
何も表示されない wsl --shutdown → Ubuntu再起動

まとめ

  • WSLgはXサーバー不要でWindows上にGUI表示が可能
  • VcXsrvやXLaunchは不要。むしろ競合の原因になる
  • .bashrc にDISPLAYの手動設定があるとGUI表示が壊れる
  • Pythonでも plt.show() で表示できる
  • xclock, gedit, nautilus, matplotlib など多数のGUIアプリがそのまま使える

おまけ:おすすめGUI対応アプリ(WSLg対応)

アプリ 用途
xclock 動作確認用時計
gedit テキストエディタ
nautilus ファイルマネージャ
matplotlib プロット表示
Cantera 燃焼・化学計算 + プロット可視化

✍ 最後に

WSLg のおかげで、Windows 11 でも Linux GUI アプリをストレスなく扱えるようになりました。
従来のような DISPLAY 設定やXサーバーの起動はもう不要です。

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?