Debian 8.6 (jessie)
LXDE
(gnome や cinnamon では、起動すらできなかったが、原因は未調査。)
手順
root ユーザで作業する前提とする。
# libxrandr-dev パッケージをインストールするのがミソ
aptitude -y install git libxrandr-dev
# 任意のディレクトリでビルド作業を行う
git clone --depth 1 -b v3.03 https://github.com/scarygliders/X11RDP-o-Matic.git
cd X11RDP-o-Matic
./X11rdp-o-matic.sh --justdoit
# パッケージがインストールされているか確認
dpkg -l xrdp x11rdp
# セッションマネージャを選択(LDXE を選択する)
./RDPsesconfig.sh
# 再起動後、 xrdp で以下のようなエラーが発生した。
Jan 7 22:28:41 record2 xrdp-sesman[583]: (583)(140136194672384)[ERROR] error opening pid file[/var/run/xrdp/xrdp-sesman.pid]: No such file or directory
# /var/run は、/run のシンボリックリンクとなっている。
# /run は、tmpfs で作成されるため、起動時に初期化されてしまう。
# したがって、起動時に作成するように設定を行う必要がある。
# PID ファイルの格納先を作成
tee /etc/tmpfiles.d/xrdp.conf <<'EOT'
d /run/xrdp 0755 root root
EOT
# xrdp を起動すると、さらに以下のようなエラーが発生する。
# これは、pid ファイルの作成先が、異なっているため。
Jan 08 11:06:30 record2 xrdp-sesman[11225]: (11225)(140003619026688)[INFO ] starting xrdp-sesman with pid 11225
Jan 08 11:06:30 record2 systemd[1]: PID file /var/run/xrdp-sesman.pid not readable (yet?) after start.
Jan 08 11:06:30 record2 xrdp-sesman[11225]: (11225)(140003619026688)[INFO ] listening to port 3350 on 127.0.0.1
Jan 08 11:08:00 record2 systemd[1]: xrdp-sesman.service start operation timed out. Terminating.
Jan 08 11:08:00 record2 xrdp-sesman[11225]: (11225)(140003619026688)[INFO ] shutting down sesman 1
Jan 08 11:08:00 record2 xrdp-sesman[11225]: (11225)(140003619026688)[DEBUG] Closed socket 7 (AF_INET 127.0.0.1:3350)
Jan 08 11:08:00 record2 systemd[1]: Failed to start xrdp session manager.
# /lib/systemd/system/xrdp.service ファイルを以下のように修正
# pid ファイルの場所を修正
# 存在しないディレクトリの読み込み行をコメントアウト
PIDFile=/var/run/xrdp/xrdp.pid
#EnvironmentFile=-/etc/sysconfig/xrdp
#EnvironmentFile=-/etc/default/xrdp
# /lib/systemd/system/xrdp-sesman.service ファイルを以下のように修正
# pid ファイルの場所を修正
# 存在しないディレクトリの読み込み行をコメントアウト
PIDFile=/var/run/xrdp/xrdp-sesman.pid
#EnvironmentFile=-/etc/sysconfig/xrdp
#EnvironmentFile=-/etc/default/xrdp
systemctl daemon-reload
systemctl enable xrdp
systemctl start xrdp
# xrdp が起動したことを確認
systemctl status xrdp
# 再起動し、正常に xrdp が起動することを確認する。
reboot