前回はWindows Subsystem for Linuxを更新する方法を紹介しました。
今回はWSL2上でGUIを使ってみたいと思います。
WSLgとは
WSLgとは、Linux GUIアプリケーションを実行可能とするためのWSL2の機能です。

この機能を用いると、下記のことが可能になります。
- WindowsのスタートメニューからLinuxアプリを起動する
- LinuxアプリをWindowsのタスクバーにピン留めする
- Alt+Tabを使用してLinuxアプリとWindowsアプリを切り替える
- WindowsアプリとLinuxアプリ間で切り取りと貼り付けを行う
つまり、WindowsのアプリのようにLinuxのGUIアプリを起動できるということになります。
準備
この記事を作成している時点(2024年12月)では、WSLgはデフォルトで有効になっていますが、利用するにはいくつか条件があります。
Windowsのバージョンの確認
WSLgが利用可能なのは「Windows 10ビルド19044以降」または「Windows 11」とされています。
以前はWindows 11でも「ビルド22000以上」という条件があったのですが、今はその記載は見当たらなくなっています。
ビルド22000というと2021年頃かと思うので、Windows Updateを適宜適用しているとこの条件はクリアできていると思います。
なおこの画面は「ファイル名を指定して実行」で「winver」を入力すると表示できます。
WSL2のアップデート
WSL2は最新の状態にしておきましょう。
これは管理者のPowerShellで「wsl --update
」コマンドを実行することで行えます。
詳細は下記記事を参照してください。

この記事作成時点では次のようなバージョンになっています。
PS C:\WINDOWS\system32> wsl --status
WSL バージョン: 2.3.26.0
カーネル バージョン: 5.15.167.4-1
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5620
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26100.2605
「WSLgバージョン」が表示されていればWSLgが使えると思います。
GPUドライバーの更新
WSLgを使うためにはGUIのドライバーがある程度新しい必要があります。
Intel製のGPUの場合
IntelのGPUを利用している場合は下記のサイトから最新版をインストールしておきます。
この記事作成時点では「31.0.101.3790/31.0.101.2114」というバージョンがダウンロード可能でした。
AMD製のGPUの場合
AMD製の場合は下記のサイトからドライバーを入手しましょう。
「Windows® 10/11 Drivers」というところからダウンロードできます。
この記事作成時点では「amd-software-adrenalin-edition-24.12.1-minimalsetup-241204_web.exe」というファイルがダウンロード可能でした。
このファイルを実行すると自動的に最適なドライバーをインストールしてくれるようです。
私はAMDのグラフィックスカードは利用していないので、実際には試していません。
nvidia製のGPUの場合
GPUがnvidia製の場合は下記のサイトからドライバーを入手しましょう。

一般的なグラフィックスカードを利用している方は、Manual Driver Searchの「Select Product Category」で「GeForce」を選択しましょう。
これで「Latest Driver Downloads」という項目が表示されます。
パフォーマンス重視のゲームユーザは「NVIDIA Game Ready Driver」を、安定性重視のユーザは「NVIDIA Studio Driver」を、ワークステーション向けのGPUを使っている方は一番右の「NVIDIA RTX/Quadro Desktop and Notebook Driver」を選べばOKです。
私はRTX3060を利用していますが、とくにゲームはしないので「NVIDIA Studio Driver」を選択しました。この記事作成時点では566.36というバージョンがダウンロード可能でした。
DISPLAY環境変数の確認
通常はDISPLAY変数を設定していることはないので、この項は無視してもOKです。
DISPLAY変数をカスタマイズするとWSLgを邪魔してしまうことがあります。
DISPLAY変数の値は下記のコマンドで確認できます。
$ echo $DISPLAY
:0
この結果のように「:0」と表示されない場合はどこかでDISPLAY変数を設定してしまっているので、.bashrc・.profile・.bash_profile等のファイルを確認してみてください。
Linuxのパッケージの更新
念のためインストールされているパッケージを更新しておきましょう。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get clean
GUIアプリの実行
ここまでの準備ができたらLinuxのGUIアプリを実行してみましょう。
コマンドラインでの実行
ここでは簡単なアプリが入っているx11-appsパッケージを試してみましょう。
sudo apt-get install x11-apps
このパッケージには小さなアプリがいろいろ入っているのですが、お試しとして「xeyes」というアプリを起動してみます。
xeyes &
これでWindowsに下のようなウィンドウが表示されれば成功です。
ちなみにタスクバーにはLinuxのペンギンアイコンが追加されます。
もちろんAlt+Tabを使用してLinuxアプリとWindowsアプリを切り替えることもできます。
もう少し実用的なアプリとしてgeditを試してみます。
sudo apt-get install gedit
gedit &
私のPCではgeditの画面が出るまで1分程度かかりました。気長に待ちましょう。
これでエディター画面が立ち上がります。
デフォルトの状態では日本語を入力することはできませんが、Windowsのアプリからコピー&ペーストすることはできます。
WSL2側に日本語入力システムを導入すれば日本語の入力もできるっぽいですが、試していません。
Windowsのスタートメニューからの起動
なんとWSL2(Ubuntu)にインストールしたGUIアプリはWindowsのスタートメニューで「すべて」を選択して表示される「Ubuntuフォルダー」以下に追加されます。
ただUbuntuにインストールしたすべてのアプリが表示されるわけではないようです。
Windowsのスタートメニューに追加される場合と追加されない場合の違いはよくわかりませんでした。
このメニューを選択することでもLinuxのGUIアプリを起動できます。
WSLgの課題
あまり使い込んだわけではありませんが、試してみて気づいたのは、WSLgできるのはLinuxの単独のGUIアプリをWindows側に表示させることだけだということです。
つまりLXDE等のデスクトップ環境をWindows側に表示させることはできません。
メインはコマンドラインで使いつつ、ときどきGUIを使いたいというときにはWSLgが適していますが、マウス主体でLinuxを操作したいという方にはWSLgはちょっと向かないかもしれません。
そのような場合はリモートデスクトップでWSL2に接続することをオススメします。WSL2でのリモートデスクトップについては次回紹介したいと思います。
まとめ
今回はWindows Subsystem for Linux(WSL2)でデフォルトで利用可能になったWSLgを使ってLinuxのGUIアプリを使用してみました。
WSLgによりほとんど設定不要でLinuxのGUIアプリを起動できます。VcXsrvなどのXサーバアプリの導入や設定が不要なので、非常に手軽にGUIアプリを試せるのは非常に助かります。
次回はリモートデスクトップを使ってLinuxのGUIアプリを使えるようにしてみたいと思います。
コメント