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

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

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

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

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の作成

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

$ echo "lxsession -s Lubuntu -e LXDE" > ~/.xsession

4 XRDPでlight-lockerの無効化

XRDPのようにlightdmを実行しない場合、light-lockerで以下のエラーが発生します。これはlightdmでは設定されるXDG_SESSION_PATHがXRDPの場合は設定されない為です。XDG_SESSION_PATHは動的に決まる値なので決め打ちすることができません。

** (light-locker:2769): ERROR **: 08:09:59.625: Environment variable
XDG_SESSION_PATH not set. Is LightDM running?

そこでlight-lockerのラッパースクリプトを作成し、ラッパースクリプトでXDG_SESSION_PATHが設定されているかいないかを判定します。

$ sudo cp /usr/bin/light-locker /usr/bin/light-locker.orig
$ cat <<EOF | sudo tee /usr/bin/light-locker
#!/bin/sh

# The light-locker uses XDG_SESSION_PATH provided by lightdm.
if [ ! -z "\${XDG_SESSION_PATH}" ]; then
  /usr/bin/light-locker.orig
else
  # Disable light-locker in XRDP.
  true
fi
EOF
$ sudo chmod a+x /usr/bin/light-locker

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

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

0001_xrdp-lxde.png