systemctlサービスが機能しない

systemctlサービスが機能しない

Ubuntu 16.04にアップグレードしましたが、サービスに問題が発生しました。

[Unit]
Description=Conan - dong sliders to MAX
After=syslog.target network.target

[Service]
ExecStart=/home/conan/exiles/start_conan.sh
User=conan
Type=simple
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

丸太:

systemd[1]: conan.service: Service hold-off time over, scheduling restart.
systemd[1]: Stopped Conan - dong sliders to MAX.
systemd[1]: Started Conan - dong sliders to MAX.
conan : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/xvfb-run --auto-servernum --server-args=-screen 0 640x480x24:32 wine /home/conan/exiles/ConanSandboxServer.exe -log
sudo[5115]: pam_unix(sudo:session): session opened for user root by (uid=0)
sudo[5115]:start_conan.sh[5113]: wine: /home/conan/.wine is not owned by you
systemd[1]: conan.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: conan.service: Unit entered failed state.
systemd[1]: conan.service: Failed with result 'exit-code'.

最初はこれが start_conan.sh[5113]: wine: /home/conan/.wine is not owned by you問題だと思いました。しかし、.wine所有者は「conan」ユーザーです。

起動スクリプト:

#!/bin/sh
export WINEARCH=win64
export WINEPREFIX=/home/conan/.wine64

sudo xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /home/conan/exiles/ConanSandboxServer.exe -log

答え1

(sudoのために)rootでファイルを開こうとしていますが、ファイルはconanの所有です。努力する:

# chown root:root /home/conan/.wine

conanで開くには、スクリプトの-u conansudoコマンドの後にこれを追加します。

関連情報