Ubuntu+WSL2環境でWindows 11とxfce4のコーヒーレントモード環境

📖 この記事は約 12 分で読めます。
概要

本記事では、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 1WSL 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 upgrade

Ubuntuデスクトップ環境のインストール

以下の二つのコマンドを入力して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を選んでください。

次回の記事をご期待ください。どうぞよろしくお願いいたします。

関連リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次