はじめに
この記事では、Ubuntu 22.04 へのリモートデスクトップ接続(RDP)の設定方法を説明します。
Ubuntu はデフォルトでは RDP 接続がサポートされていないため、xrdp というオープンソースソフトウェアを使用して設定します。
また、設定中に発生した問題とそのトラブルシューティングについても触れます。
環境
- Ubuntu 22.04.5 LTS
- xrdp(0.9.17-2ubuntu2)
xrdp のインストール
まず xrdp をインストールします。以下のコマンドを実行してください。
$ sudo apt update
$ sudo apt install xrdp
インストールが完了したら、xrdp サービスが起動しているか確認します。
$ sudo systemctl status xrdp
● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-11-17 14:36:43 JST; 1 week 3 days ago
Docs: man:xrdp(8)
man:xrdp.ini(5)
Main PID: 341356 (xrdp)
Tasks: 2 (limit: 14107)
Memory: 21.4M
CPU: 23.784s
CGroup: /system.slice/xrdp.service
├─341356 /usr/sbin/xrdp
└─838982 /usr/sbin/xrdp
インストール時におそらくサービスは自動起動していると思いますが、サービスが起動していない、若しくはサービスが自動起動しない設定になっている場合は以下のコマンドを実行します。
$ sudo systemctl enable xrdp
$ sudo systemctl start xrdp
次に xrdp を SSL 証明書グループに追加します。
$ sudo adduser xrdp ssl-cert
上記のコマンドを実行しないと以下の権限に関するエラーで接続できないので注意してください。
$ sudo tail -f /var/log/xrdp.log
# 中略
[ERROR] Cannot read private key file /etc/xrdp/key.pem: Permission denied
xrdp の設定
xrdp の基本的な設定は既に完了していますが、いくつかの追加設定を行うことでパフォーマンスを向上させることができます。
/etc/xrdp/xrdp.ini
を必要に応じて設定を変更してください。
デフォルトユーザーでのログイン問題と解決策
ここまでの設定で RDP ソフトから接続はできますが、xrdp のログイン画面からデフォルトユーザー(OS セットアップ時に作成したユーザー)でログインしようとすると、画面が落ちてしまう問題が発生しました。
ソフトのバグかと思い、ログも確認しつつ色々調査しましたが手がかりが掴めませんでした。しかし、新しくユーザーを作成すると接続できたという記事があったのでそのように対応することにしました。
# 任意のユーザー名を指定
$ sudo adduser rdpuser
New password: [任意のパスワードを入力]
Retype new password: [任意のパスワードを入力]
# その他は全て未入力でEnterキーを押す
作成したユーザーで再度ログインすると Ubuntu のデスクトップ画面が表示されます。
しかし、サイドバーにアプリアイコンが表示されておらず、左上のアクティビティボタンを押さないとランチャーが表示されないため、期待していたデスクトップ環境とは異なっていました…。
これはxrdp
で接続した際はカスタマイズされていない標準の GNOME デスクトップ環境のためこのような表示になるようです。
デスクトップ環境のカスタマイズ
ホームディレクトリに.xsessionrc
というファイルを作成し必要な設定を記述することで GNOME デスクトップ環境をカスタマイズできます。
$ sudo su
# ここからrootユーザーで作業
cd /home/rdpuser
vim .xsessionrc
# 以下の内容を記述して保存
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
# サービスを再起動
systemctl restart xrdp
# エラーが出力されていないか確認
systemctl status xrdp
# rootユーザーを終了
exit
再びログインするとデスクトップ環境が変更されていることがわかります。
また、認証後に画面が真っ黒になる場合は、以下のコマンドでgnome-session
を強制的に終了します。
$ sudo pkill gnome-session
画面ロックを解除
デフォルトだとしばらく画面操作が無いとロックが掛かる設定で、xrdp
でログイン後またパスワードを入力する必要があったのでこの設定を解除しました。
[設定] → [プライバシー] → [画面] → [自動画面ロック]をオフにします。
最後に
この記事では、Ubuntu 22.04 へのリモートデスクトップ接続(RDP)の設定方法を解説しました。
xrdp のインストールと設定、デフォルトユーザーでのログイン問題とその解決策、デスクトップ環境のカスタマイズ、画面ロックの解除について説明しました。これらの手順に従うことで、Ubuntu へのリモートデスクトップ接続を快適に利用できるようになります。