ことのはじまり
WSL2でLinux GUIを使いたくなった直接起動するのではなく、リモートデスクトップ経由でデスクトップに接続したい
環境
- Windouws 10 Home
- WSL2
- Ubutntu 24.02
必要ファイルのインストール
この辺りを参考にサクサク進めていく。 まずはともあれアップデートsudo apt-get update && sudo apt-get upgrade-y
サイトによってはこの手順を飛ばしていたりするが、これをやらないとリモートデスクトップ接続がうまくいかない。 途中でGUIアプリの選択が出るがひとまずlightdmを選択する。
sudo apt-get install libgl1-mesa-dev xorg-dev xbitmaps x11-apps
sudo apt-get install ubuntu-desktop
XFCEとXRDPのインストール
sudo apt-get install xfce4 xfce4-goodies
sudo apt-get install xrdp
XRDPの設定
XFCEを利用するように設定する。cd /etc/xrdp
sudo cp startwm.sh startwm.sh.old
適当なエディタで"startwm.sh"を開いて、ファイル末尾を以下のように書き換え
#===Before===
test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession
#===After===
#test -x /etc/X11/Xsession && exec /etc/X11/Xsession
#exec /bin/sh /etc/X11/Xsession
startxfce4
XRDPの接続ポートが3389の場合だとエラーが出ることがあるらしいので、 ウェルノウンポートを避けて適当なポートに変える。 ここでは参考サイトの通りに13389にする。
sudo sed -i 's/3389/13389/g'
これで設定は完了となる。
以下の設定を追加ですると色深度がよくなるが性能が悪化するパターンもあるらしいのでオプション
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
GUIの接続
以下のコマンドで起動し、Windows付属のRDPクライアントから接続する。sudo service xrdp start
13389ポートを設定しているので"localhost:13389"で接続する。 警告が出るが続行する。 この画面になれば接続成功。
まとめ
当初の目論見通りRDP経由でLinuxのデスクトップを使えるようになった。スケーリングもWindows RDPクライアント側から行えるので非常に便利