2024年8月5日月曜日

WSL2 + Ubuntu 24.04でデスクトップ環境を構築

ことのはじまり

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クライアント側から行えるので非常に便利