我尝试了所有解决方案如何在后台运行 Dropbox 守护进程?没有什么可以解决我的问题:
基本上,我已经在我的 Ubuntu 12.04LTS 无头服务器上安装了 dropbox。我得到了 init.d 设置,但问题是现在我无法重新启动服务器(其他用户正在积极使用它)。
因此,我尝试通过 SSH 启动 dropbox,该方法可以正常工作,并且 dropbox 开始同步,但是一旦我与 SSH 断开连接,dropbox 就会停止运行。我尝试在独立的屏幕上运行它,使用($HOME/.dropbox-dist/dropboxd &)&
,当我从 SSH 注销时它们都会停止。
我尝试启动服务,但似乎不起作用,我不知道为什么..?
$ sudo service dropbox start
[sudo] password:
Starting dropbox...
$ dropbox status
Dropbox isn't running!
我按照说明操作:
sudo chmod +x /etc/init.d/dropbox
sudo update-rc.d dropbox defaults
从http://www.dropboxwiki.com/tips-and-tricks/install-dropbox-in-an-entirely-text-based-linux-environment#debianubuntu我没有收到任何错误消息。请帮忙。
我不太关心在服务器重新启动时启动该进程,只要我可以通过 ssh 启动 dropbox 并在注销后保持其运行即可。
谢谢
更新和答案:非常感谢您的所有回答。感谢用户尼克斯格瑞尔的评论,我意识到这是因为我使用的是 ssh -X (我系统上的默认设置)。当我进行正常的 ssh 操作后,尝试简单的方法dropbox start &
就成功了:)
答案1
看看这里:
https://community.spiceworks.com/topic/131973-dropbox-headless-workstation?page=1#entry-6076539
有用户提到:
只是想我会提到:
(a) 最新的发行版似乎使这变得相当简单,只需
dropbox start
从命令行运行,但 (b) 请注意使用 X11 转发的登录和注销。我设置了很多 Bash 别名来连接到各种机器,它们都包含
-X
转发 X11 数据包的选项。因此,Dropbox 在我注销时总是死机,甚至screen
在nohup
.显然,转发 X11 导致 Dropbox 连接本地计算机上的 dbus 进程,而不是远程计算机上的;因此,当我断开连接时,Dropbox 认为 dbus 已终止,因此正在终止自身。仅供参考,因为这让我有点困惑。关键是我必须按Ctrl-C即使在注销/
exit
在远程计算机上运行后也是如此。显然,即使我退出了 Bash,SSH 仍保持会话打开,因为仍然存在打开的连接。
解决方案很简单,即使有人(出于某种原因)想要保持 ssh-ing -X
:在启动 Dropbox 之前,您应该“中断”转发,例如执行以下操作:
$ unset DISPLAY
如果这是在 Bash 脚本中完成的,则转发仅在脚本内部“中断”,但一旦执行,“终端”仍在转发。
答案2
最好的解决方案是找到避免服务器从 启动的问题service dropbox start
。检查您的日志以了解发生了什么。
但与此同时,您可以使用 启动守护进程nohup
,这将在您注销后保持其运行。
nohup $HOME/.dropbox-dist/dropboxd &
答案3
非常感谢您的所有回答。感谢用户尼克斯格瑞尔的评论,我意识到这是因为我使用的是 ssh -X (我系统上的默认设置)。当我进行正常的 ssh 操作后,尝试简单的方法dropbox start &
就成功了:)