我使用描述的基于文本的安装方法安装了 Dropbox这里。但是我现在想让 dropbox 在机器启动时自动启动,并开始同步文件。我需要以 dropbox 用户身份从 dropbox 用户主目录运行 dropbox。
我认为以下命令将以 dropbox 用户身份启动 dropbox,在 dropbox 用户主目录中,如果这不起作用,您能纠正我吗?
LANG=en_US.UTF-8 sudo -H -u dropbox ./.dropbox-dist/dropbox end script
答案1
我的猜测是:
您为命令指定了错误的路径
dropbox
;./
始终引用当前目录,即不是通过使用 进行了更改sudo -H
。您仍然必须使用/home/dropbox/.dropbox-dist/dropbox
。Dropbox 拒绝启动,因为
end script
命令行中不是命令的一部分——原始的 Upstart 示例应该由几行组成:start on runlevel 2 start on runlevel 3 start on runlevel 4 start on runlevel 5 stop on shutdown respawn script # Without next line DB does not sync non ASCII characters (ubuntu 10.04-x86_64, db 0.7.110) export LANG=en_US.UTF-8 cd /home/dropbox exec sudo -H -u dropbox ./.dropbox-dist/dropbox end script
正如您所见,
/home/dropbox
在引用之前, Upstart config cd 到了./.dropbox-dist
。
对于 systemd,创建一个/etc/systemd/system/dropbox.service
:
[单元] 描述=Dropbox 作为系统服务 [服务] ExecStart=/home/dropbox/.dropbox-dist/dropbox 用户=dropbox # 'LANG' 可能没有必要,因为 systemd 已经设置了 # 根据“/etc/locale.conf”为所有服务设置语言环境。 # 运行“systemctl show-environment”以确保。 环境=LANG=en_US.utf-8 [安装] WantedBy=多用户.目标
用于systemctl start dropbox.service
立即启动服务。
使用systemctl enable dropbox.service
使其在启动时自动启动。
如果在使用过一次后编辑单元文件,请运行systemctl daemon-reload
以清除内存中的缓存文件。