本記事では、Windows 11のWSL2 (Windows Subsystem for Linux) 環境でUbuntuデスクトップの完全な環境(Xfce4を含む)の構築方法をご紹介致します。Ubuntuサーバー立ち上げを行い、自身からUbuntuのリモートデスクトップ環境へ接続する方法です。
管理人本記事の読者層は以下の方を想定しています。
- Windows 11のWSL2環境でUbuntuデスクトップ環境を構築したい方
- WSLとWSL2のどちらを使うか迷っている方
XfceをWSL2で使う前の結論(WSLgとの違い)
XfceをWSL2のUbuntuで使えるかどうかの結論から言うと、デスクトップ環境全体を利用することは可能です。ただし、Windows 11などに標準搭載されているWSLgは「個別のLinux GUIアプリをWindows上にシームレスに表示する」設計になっており、XfceやGNOMEのようなデスクトップ環境全体(画面全体)を丸ごと起動・管理する機能は持っていません。
WSLgについて、Microsoftの公式ドキュメントでは次のように案内されています。
- Windows 10 (Build 19044以上) または Windows 11 に対応
- WSL 2でのみ動作(WSL 1は非対応)
- 新規導入は
wsl --install、既存環境の更新はwsl --update実行後にwsl --shutdownで再起動 - 役割は個別アプリのUI統合であり、フルデスクトップ環境の提供ではない
したがって、Xfce4のようなデスクトップ環境全体をWindows上に表示したい場合は、Ubuntu側にデスクトップ環境をインストールした上で、サードパーティのXサーバー(VcXsrvなど)やリモートデスクトップ接続(RDP)を用いて接続する必要があります。
参考:Microsoft Learn「WSL を使用して Linux GUI アプリを実行する」
WSLg(Windows Subsystem for Linux GUI)は、WSL2上で動作するLinuxのGUIアプリケーション(グラフィック画面を持つアプリ)を、Windowsのデスクトップ上に直接表示して操作できるようにするMicrosoft公式の機能です。
WSLとWSL2のどちらを使うか
ここまでで、Linux GUIアプリがWSL2でのみ動作することが分かりました。ここでは、WSL 1とWSL 2の違いを表にまとめます。
| 観点 | WSL 1 | WSL 2 |
|---|---|---|
| 仕組み | Linuxのシステムコールを変換する独自の変換レイヤー | 軽量なユーティリティVM内で、実際のLinuxカーネルを実行 |
| システムコールの互換性 | 完全ではない | 完全 |
| Linux GUIアプリ(WSLg) | 動作しない | 動作する |
| systemd | 使えない | 使える |
| Linuxファイルシステム内のI/O性能 | 相対的に遅い | 速い |
| WindowsとLinuxのファイルシステム間の性能 | 速い | 遅い |
Microsoftの公式ドキュメント(2026年11月時点)は、性能とシステムコールの互換性が高いことから、WSL 2の利用を推奨しています。新しくLinuxディストリビューションをインストールするときの既定のバージョンも、WSL 2です。
一方で、プロジェクトのファイルをWindowsのファイルシステムに置く必要がある場合や、シリアルポートにアクセスする必要がある場合などは、WSL 1の利用を検討するよう案内されています。
参考:Microsoft Learn「WSL 1 と WSL 2 の比較」
Windows 11のWSL2環境でUbuntuデスクトップ環境を構築する方法
「WindowsにWSL2をまだインストールしていない」という方は、こちらの記事を参考に、WSL2とUbuntuをインストールしてください。


なお、上のリンク先の記事で使っているUbuntu 20.04 LTSは、2025年5月31日に標準サポートが終了しています(2026年11月時点。Canonicalの公式ブログによる)。Ubuntu Proを使うと、セキュリティ更新(ESM)は2030年5月まで延長されます。これから環境を作る場合は、サポート中のUbuntu LTSを選んでください。
参考:Canonical「Ubuntu 20.04 LTS end of life」
WSL2がインストールされているか不安な場合は、WindowsのPowerShellで、次のコマンドを実行して確認できます。
PS C:\Users\users> wsl --list --verbose
NAME STATE VERSION
* Ubuntu-18.04 Running 2
Ubuntu-20.04 Running 2上記は、Ubuntu 18.04と20.04がインストールされている環境の例です。「VERSION」が2となっていれば、WSL2で動いている環境ですので安心してください。
ここまでで、WSL2とUbuntuが使える状態になりました。GUI環境を表示する先として、Windows側にXサーバーをインストールします。今回は、XサーバーソフトとしてVcXsrvを使用します。
インストール前に
最初にUbuntuのアップデート(ディストリビューションの更新)を行います。
$ sudo apt-get update
$ sudo apt-get upgradeUbuntuデスクトップ環境のインストール
以下の二つのコマンドを入力してX11環境とubuntuデスクトップ環境を整えます。
$ sudo apt-get install libgl1-mesa-dev xorg-dev xbitmaps x11-apps
$ sudo apt-get install ubuntu-desktopここまではエラーもなく進めます。ただ、「sudo apt-get install ubuntu-desktop」を入れるのにはそれなりに時間がかかります。
LinuxサーバーとWindows11を繋ぐ
このままでは、X11は利用できますが、Windows11でのUbuntuのデスクトップ環境は利用できません。
Xfce4のインストール
ここまでで、UbuntuにX11の環境とubuntu-desktopが入った状態です。以下の操作は、X11を利用するだけであればインストールしなくても問題ないです。
まずはxfce4をインストールします。
$ sudo apt install xfce4-session上のコマンドで、xfce4-sessionをインストールします。
これは、Ubuntuにデスクトップ環境をインストールしたうえで、リモートデスクトップ環境(RDP)を通してUbuntuデスクトップ環境にアクセスする方法です。セッションタイプはXorgで接続します。
xfce4-sessionを起動すると、以下のようなエラーが出ますが、立ち上がります。
>xfce4-session
gpg-agent[838]: WARNING: "--write-env-file" is an obsolete option - it has no effect
gpg-agent: a gpg-agent is already running - not starting a new one
(xfce4-session:828): xfce4-session-WARNING **: 16:35:49.838: gpg-agent returned no PID in the variables
xfsettingsd: Another clipboard manager is already running.
Failure: Module initialization failed
(xfce4-session:828): Wnck-CRITICAL **: 16:35:50.095: wnck_workspace_activate: assertion 'WNCK_IS_WORKSPACE (space)' failed
(uint32 1,)
xscreensaver: 16:35:50: locking is disabled (running as nobody).
xscreensaver: 16:35:50: locking only works when xscreensaver is launched
by a normal, non-privileged user (e.g., not "root".)
See the manual for details.
(xfsettingsd:844): xfsettingsd-WARNING **: 16:35:50.175: Failed to get the _NET_NUMBER_OF_DESKTOPS property.
(xfce4-panel:843): Wnck-CRITICAL **: 16:35:50.312: wnck_workspace_is_virtual: assertion 'WNCK_IS_WORKSPACE (space)' failed
** (update-notifier:900): WARNING **: 16:35:50.477: not starting for system user
(nm-applet:864): Gtk-WARNING **: 16:35:50.618: Can't set a parent on widget which has a parent
/usr/share/system-config-printer/applet.py:45: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version('Notify', '0.7') before import to ensure that the right version gets loaded.
from gi.repository import Notify
(nm-applet:864): Gdk-CRITICAL **: 16:35:50.792: gdk_window_thaw_toplevel_updates: assertion 'window->update_and_descendants_freeze_count > 0' failed

まとめ
本記事のまとめとして、
- WSL2(Windows 11、またはWindows 10 Build 19044以上)では、WSLgによってLinux GUIアプリをWindows上に表示できますが、デスクトップ環境全体は提供されません。
- Xfce4などのデスクトップ環境を使うには、Ubuntuにデスクトップ環境(ubuntu-desktopとxfce4-session)をインストールし、XサーバーやRDPで接続します。
- Ubuntu 20.04 LTSは標準サポートが終了しているため、これから環境を作る場合はサポート中のUbuntu LTSを選んでください。
次回の記事をご期待ください。どうぞよろしくお願いいたします。
関連リンク









コメント