因此,经过一些研究,我发现了 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 指令。