所以我已经安装了 Syncthing,并且在让这个程序在启动时以 root 身份运行时遇到了很多问题。由于某种原因,它总是以默认用户( thom )运行,但我启动到 root 并告诉它以 root 身份运行。该命令如下所示:
sudo start-stop-daemon --start --quiet --background --chuid root --exec /usr/bin/syncthing -- "--no-browser"
并且被放置在rc.local里面。启动后手动运行 rc.local 工作正常,但启动本身不起作用。这是迄今为止唯一一个始终以错误用户身份运行的程序。也许有人可以帮助指出我到底做错了什么?
答案1
没有$HOME
定义,/etc/rc.local
所以当syncthing
解析它的配置位置时$HOME/.config/syncthing
,它会找到/.config/syncthing
。我怀疑这包含本地用户 thom 的详细信息,而 when$HOME=root
包含/root/.config/syncthing
root 的详细信息。
sudo
另外,当您已经是 root 时则不需要(如 中所示/etc/rc.local
)。
试试这个:
HOME=/root start-stop-daemon --start --quiet --background --exec /usr/bin/syncthing -- "--no-browser"