![Dropbox 在没有 X 的情况下拒绝启动](https://linux22.com/image/69470/Dropbox%20%E5%9C%A8%E6%B2%A1%E6%9C%89%20X%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E6%8B%92%E7%BB%9D%E5%90%AF%E5%8A%A8.png)
在 Debian 无头服务器上安装了 Dropbox,可以正常运行几个月。不得不强制重启服务器。现在,如果没有 X,Dropbox 将拒绝启动。
X11 connection rejected because of wrong authentication.
使用 X 它运行得很好,并在 Gnome 面板上显示图标。
我需要它再次无头运行。它是一个应该“单独”工作的服务器,不需要远程 X 显示。
对于同一服务器上的不同用户,它运行得很好。
任何想法?
它会在配置中的某个地方保留是否使用 X 吗?
谢谢,
答案1
Dropbox 守护程序只是检查您的 $DISPLAY 环境变量。如果您不通过 ssh 转发 X,则 $DISPLAY 为空。因此,即使您连接了 X Forwarding,您也可以执行以下操作:
DISPLAY='' /etc/init.d/dropbox start
或者以同样的方式编辑 dropboxd 脚本。
答案2
完全删除~/.dropbox
~/.dropbox-dist
并~/Dropbox
重新安装后dropbox start -i
,显然,安装后它什么也没做。dropbox status
回Waiting to be linked to a Dropbox account...
诀窍是直接运行.dropbox-dist/dropboxd
,它的答案是
This computer isn't linked to any Dropbox account...
Please visit https://www.dropbox.com/cli_link_nonce?nonce=xx to link this device.
授权计算机后一切顺利。无需 X 即可启动和停止。
但是当尝试手动启动守护进程时
/etc/init.d/dropbox start
它会再次抱怨无法连接到 X :-(
真正的问题是我的 root ssh 连接默认启用了 X 转发,虽然 dropbox 现在在没有 X 的情况下也可以正常工作,但它检测到连接有 X 并尝试使用它。
因此,解决方案是删除用于手动启动守护进程的 ssh 连接的 X 转发。
答案3
Dropbox 守护进程读取配置设置并尝试像以前一样重新连接到 X。删除该特定用户的配置,使其忘记过去并再次运行。它会解决你的问题。