Ubuntu 17.04 向けの xrdp パッケージの更新が行われていたので、16.04 向けにビルドしてみました。
sudo apt-get install build-essential devscripts mkdir build cd build/ dget -u https://launchpad.net/ubuntu/+archive/primary/+files/xrdp_0.9.1-4.dsc cd xrdp-0.9.1/ vi debian/control
- devhelper (>= 10), + devhelper (>= 9.2),
dpkg-buildpackage -r -uc -b cd .. sudo dpkg -i xrdp_0.9.1-4_amd64.deb xorgxrdp_0.9.1-4_amd64.deb sudo systemctl restart xrdp.service
これで大丈夫かと思ったのですが、システムを reboot すると xrdp が起動されていませんでした。
サービスを起動しようとするとエラーが発生していました。
Feb 2 01:16:17 taniguchi-home systemd[1]: Failed to start xrdp session manager. Feb 2 01:16:17 taniguchi-home systemd[1]: Dependency failed for xrdp daemon. Feb 2 01:16:17 taniguchi-home systemd[1]: xrdp.service: Job xrdp.service/start failed with result 'dependency'. Feb 2 01:16:17 taniguchi-home systemd[1]: xrdp-sesman.service: Unit entered failed state. Feb 2 01:16:17 taniguchi-home systemd[1]: xrdp-sesman.service: Failed with result 'resources'. Feb 2 01:16:24 taniguchi-home systemd[1]: Stopped xrdp daemon.
調べてみたところ、/lib/systemd/system/xrdp.service に以下が追加されていたため、先に xrdp-sesman を起動しようとします。
Requires=xrdp-sesman.service After=network.target xrdp-sesman.service
しかし、再起動時に xrdp-sesman を実行する時点では /run/xrdp/ が存在しないため、起動できません。
結局、以下の2行を /lib/systemd/system/xrdp.service から /lib/systemd/system/xrdp-sesman.service へ移動しました。
PermissionsStartOnly=true ExecStartPre=/bin/sh /usr/share/xrdp/socksetup
これで大丈夫かと思ったのですが、再起動してみると xrdp が立ち上がっていません。
なぜか以下のコマンドの実行も必要でした。
sudo systemctl enable xrdp.service sudo systemctl enable xrdp-sesman.service sudo systemctl start xrdp.service
なんか、パッケージのテストが不十分で残念ですね。