この記事は、実際にWSL2環境でxfce4デスクトップをRDP経由で動かす際に発生したトラブルを元に執筆しています。誰かの参考になれば幸いです。
概要
この記事では、WSL2上のUbuntu 24.04にxfce4デスクトップ環境を構築し、xrdp を使って Windowsの「リモートデスクトップ接続 (mstsc)」からGUIアクセスできるようにする方法をまとめます。
また、Ubuntu 24.04以降に発生しやすい以下のトラブルへの対応も含めています:
- 画面が真っ黒になる(black screen)
- セッション直後にリモートデスクトップが切断される
- wayland-0 が勝手に使われて失敗する
- /tmp/.ICE-unix の権限エラー
環境情報
項目 | 内容 |
---|---|
ホストOS | Windows 11 |
ゲストOS | Ubuntu 24.04 LTS(WSL2) |
デスクトップ | xfce4 |
接続方法 | xrdp(Remote Desktop Protocol) |
1. 必要なパッケージのインストール(WSL2側)
sudo apt update
sudo apt install -y xfce4 xfce4-terminal xrdp dbus-x11 x11-xserver-utils
2. /etc/xrdp/startwm.sh を編集(Wayland回避+X11固定)
sudo nano /etc/xrdp/startwm.sh
内容を 完全に以下に置き換えます:
#!/bin/sh
unset WAYLAND_DISPLAY
unset XDG_SESSION_TYPE
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
export DISPLAY=:10.0
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
export XMODIFIERS=
exec startxfce4
保存後:
sudo chmod +x /etc/xrdp/startwm.sh
3. /tmp/.ICE-unix を修正
sudo rm -rf /tmp/.ICE-unix
sudo mkdir /tmp/.ICE-unix
sudo chown root:root /tmp/.ICE-unix
sudo chmod 1777 /tmp/.ICE-unix
これを行わないと X セッションが起動できないことがあります。
4. WSL再起動とxrdpサービス再起動
wsl --shutdown
その後、WSLを起動しなおしてから:
sudo service xrdp restart
5. WindowsからRDP接続
mstsc.exe(リモートデスクトップ接続)を起動
アドレス: 127.0.0.1(またはWSL側のIP+portproxy経由)
6.日本語ロケールのインストール
sudo apt update
sudo apt install -y language-pack-ja language-pack-gnome-ja
7.ロケールの生成と設定
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
8.xfceセッション用の環境ファイルを設定
cat <<EOF > ~/.xsession
unset WAYLAND_DISPLAY
unset XDG_SESSION_TYPE
export DISPLAY=:10.0
export LANG=ja_JP.UTF-8
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
export XMODIFIERS=
exec startxfce4
EOF
chmod +x ~/.xsession
9.WSLとxrdpを再起動
wsl --shutdown
sudo service xrdp restart
10.日本語フォントのインストール
sudo apt install -y fonts-noto-cjk
11.日本語入力のインストール
sudo apt install -y ibus-mozc
コメント