Ubuntu 16.04 で xrdp_0.9.1-4 をビルドした

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

なんか、パッケージのテストが不十分で残念ですね。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください