XRDPをインストールして、GNOMEデスクトップ環境にXRDPで接続する手順を記載します。
Table of Contents
1 XRDPのインストール
xrdpパッケージをインストールします。Xorgの場合はTigerVNCは不要です。
$ sudo apt install -y xrdp
セッションタイプがXorgの場合はカーソルのバックグラウンドに黒い四角い領域が表示されてしまうので、new_cursorsを無効にします。
$ sudo sed -e 's/^new_cursors=true/new_cursors=false/g' \ -i /etc/xrdp/xrdp.ini $ sudo systemctl restart xrdp
2 ~/.xsessionrcの作成
Ubuntu向けにカスタマイズされた設定をロードする為に~/.xsessionrcにて以下の環境変数を設定します。
$ D=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop $ cat <<EOF > ~/.xsessionrc export GNOME_SHELL_SESSION_MODE=ubuntu export XDG_CURRENT_DESKTOP=ubuntu:GNOME export XDG_DATA_DIRS=${D} export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg EOF
3 Authentication Requiredダイアログの回避
セッションタイプをXorgで接続した場合はセッション作成後にAuthentication Requiredダイアログが表示されてしまいます。
この認証を2回成功させるとcolordとgsd-colorでエラーが発生し、XRDPの接続が切れてしまいます。そこでこの認証を常に失敗させるルールを追加します。
$ cat <<EOF | \ sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-color-manager.pkla [Netowrkmanager] Identity=unix-user:* Action=org.freedesktop.color-manager.create-device ResultAny=no ResultInactive=no ResultActive=yes EOF $ sudo systemctl restart polkit
4 GNOMEデスクトップ環境にXRDPで接続する
セッションタイプはXorgで接続します。Windowsのリモートデスクトップ接続で接続すると以下のようになります。
4.1 rdesktopをクライアントとして使う
Windowsのリモートデスクトップ接続とRemminaでは特に問題ないのですが、rdesktopではクリップボードを有効にしているとXRDPサーバ側でnautilusがハングします。CPUが高負荷になりディレクトリが表示されません。
rdesktopの場合は以下のように-r clipboard:offでクリップボードを無効にします。
$ rdesktop -r clipboard:off XRDPSERVER