
因此,經過一些研究,我發現了 systemd 服務單元的插件的存在。
我正在嘗試讓transmission-daemon
套件以用戶身份運行,pi
因為這是在其下載到的資料夾中獲得正確權限的唯一方法。預設情況下它運行為debian-transmission
.我想放棄 init.d 並選擇 systemd 方法。
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
擁有的pi:pi
而不是/etc/transmission-daemon/settings.json
擁有的讀取配置debian-transmission:debian-transmission
。
作為解決方案,您可以切換到使用設定檔$HOME/transmission-daemon
或-g /etc/transmission-daemon/settings.json
在插件中傳入 ExecStart 指令。