Ubuntu 20.04 に X11 + VNC でいい感じのヘッドレスリモートデスクトップ環境を作ろうとして一週間くらい苦戦していたた、VNC を諦めて xrdp を入れたら一瞬でできてしまった。まとめるほどの内容ではないがまとめておく。
やりたかったこと
自宅ネットワークに Ubuntu Desktop 20.04 が入ったサーバがあるが、このサーバは自宅 LAN には接続されているがディスプレイは接続されておらず、これを自宅 LAN 内の MacBook からリモートデスクトップして使いたい。
VNC でうまくできなかった件
ディスプレイが無いので、vino のような「既に起動しているセッションを VNC 経由で遠隔操作する」ようなやりかたではできず、またリモート接続のたびにセッションを起動できるように Xvnc + inetd を試みたがこれはうまく設定できなかった。(力不足)
そんな矢先に「試しに VNC じゃなくて RDP でやってみるか」と xrdp を入れてみたら一瞬で動いてしまったので、もうこれでいいかとなった。
xrdp の導入
前提として、Ubuntu 20.04 Desktop を minimal install した状態でやっている。
インストール
$ sudo apt install xrdp
xrdp の設定
/etc/xrdp/startwm.sh
の冒頭に以下を追加して、RDP 接続時に GNOME セッションが起動するようにしておく。
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
これだけでもひとまず接続できるようにはなるが、そのままだと RDP 接続中に Authentication is required to create a color managed device
というダイアログがたびたび出てめんどくさいので、以下のファイルを作成することでこれを表示されないようにする。
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
RDP クライアントから接続する
macOS からなので Microsoft Remote Desktop アプリを入れて接続してみたが、普通に接続できた。めでたしめでたし。
備考
Ubuntu 21.04 以降はデフォルトのディスプレイサーバが X.org から Wayland に変わったので、Wayland のままではこの方法はできなさそう。
参考
-
第621回 Ubuntu 20.04 LTSでxrdpを使用する:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
-
allowed_users=anybody
の設定はやらなくても普通に接続できてしまった、理由はよくわからない
-