それで、少しの調査の終わりにシステムサービスユニット用のプラグインが存在することがわかりました。
パッケージがダウンロードされたフォルダから正しい権限を取得する唯一の方法であるため、transmission-daemon
ユーザーとしてパッケージを実行しようとします。pi
デフォルトでは、debian-transmission
.init.dを放棄し、systemdアプローチで実行されます。
システムファイルの説明(/lib/system/systemd/transmission-daemon.service
):
[Unit]
Description=Transmission BitTorrent Daemon
After=network.target
[Service]
User=debian-transmission
Type=notify
ExecStart=/usr/bin/transmission-daemon -f --log-error
ExecReload=/bin/kill -s HUP $MAINPID
[Install]
WantedBy=multi-user.target
私のドロップイン代替品は次のとおりです/etc/systemd/system/transmission-daemon.service.d/local.conf
。
[Service]
User=
User=pi
Group=pi
私はsudo systemctl daemon-reload
走ったsudo systemctl restart transmission-daemon
。プラグインが一覧表示され、アクティブに見えsudo systemctl status transmission-daemon
ますが、デーモンは正しく実行されず、RPC接続はブラウザで機能しません。
混乱しているので、助けてくれてありがとう。
答え1
自分で答えを探してください:
Systemdはサービスを正しく実行するため問題ではありませんが、Transmission-daemonがpiユーザーとして実行されると、$HOME/.config/transmission-daemon/settings.json
Ownedpi:pi
の代わりに/etc/transmission-daemon/settings.json
Ownedから設定を読み込みますdebian-transmission:debian-transmission
。
回避策として設定ファイルを使用するように切り替えたり、$HOME/transmission-daemon
プラグイン-g /etc/transmission-daemon/settings.json
のExecStartディレクティブを渡したりできます。