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 conan
sudoコマンドの後にこれを追加します。