Ubuntu 18.04: KDEデスクトップ環境にXRDPで接続する

KDEデスクトップ環境とXRDPをインストールして、KDEデスクトップ環境にXRDPで接続する手順を記載します。

1 KDEデスクトップ環境のインストール

こちらの手順でKDEデスクトップ環境をインストールします。

2 XRDPのインストール

XRDPをインストールします。

$ sudo apt install -y xrdp
$ sudo sed -e 's/^new_cursors=true/new_cursors=false/g' \
           -i /etc/xrdp/xrdp.ini
$ sudo systemctl enable xrdp
$ sudo systemctl restart xrdp

3 ~/.xsessionと~/.xsessionrcの作成

接続するユーザのホームディレクトリに.xsessionと.xsessionrcを作成します。

$ echo "startkde" > ~/.xsession
$ D=/usr/share/plasma:/usr/local/share:/usr/share:/var/lib/snapd/desktop
$ C=/etc/xdg/xdg-plasma:/etc/xdg
$ C=${C}:/usr/share/kubuntu-default-settings/kf5-settings
$ cat <<EOF > ~/.xsessionrc
export XDG_SESSION_DESKTOP=KDE
export XDG_DATA_DIRS=${D}
export XDG_CONFIG_DIRS=${C}
EOF

4 Authentication Requiredダイアログの回避

XRDPの接続後にAuthentication Requiredダイアログが何回か表示されてしまいます。

0001_AuthenticationRequired.png

Authentication Requiredダイアログの回避する為に、以下のpklaファイルでsudoグループのユーザはPolicyKitの認証を成功させるようにします。Identityをunix-user:*にして、ResultAnyをnoにしても良いかもしれません。

$ cat <<EOF | \
  sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-NetworkManager.pkla
[Netowrkmanager]
Identity=unix-group:sudo
Action=org.freedesktop.NetworkManager.network-control
ResultAny=yes
ResultInactive=yes
ResultActive=yes
EOF
$ cat <<EOF | \
  sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-packagekit.pkla
[Netowrkmanager]
Identity=unix-group:sudo
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=yes
ResultInactive=auth_admin
ResultActive=yes
EOF
$ sudo systemctl restart polkit

5 KDEデスクトップ環境にXRDPで接続する

セッションタイプはXorgで接続します。Windowsのリモートデスクトップ接続で接続すると以下のようになります。

0002_xrdp-kde.png