如何修复 Xubuntu 14.04 LTS 64 上不工作的 Dropbox 图标?

use*_*080 93 icons xubuntu dropbox xfce-panel

几个小时前,Xubuntu 14.04 中的保管箱图标停止工作。该图标为黑色,带有红色斜线零。我无法点击它来调出 Dropbox 菜单。我相信在这发生之前有一个更新。我重新安装然后清除了保管箱。我什至删除了所有关联的文件和隐藏文件夹,然后再次安装。仍然,该图标不起作用。试图停止并启动服务......再次没有。

kk7*_*k78 96

刚刚在我的 Xubuntu 15.10 上发现了这个错误,图标损坏,无法打开菜单。我认为该错误与 Dropbox 开始使用“指示器区域”作为其托盘图标而不是“通知区域”有关,并且由于某些环境变量未与 sudo 会话一起使用,因此 sudo 修复恰好起作用。

至少对我来说,这个问题可以通过运行来解决:

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start
Run Code Online (Sandbox Code Playgroud)

这似乎将图标移回“通知区域”,该区域修复了图标和菜单。这样守护进程以普通用户身份运行,而不是以 root 身份运行。

编辑:如果您基于此修复程序为 Dropbox 创建了自己的启动脚本,请记住使用“ dropbox autostart n”命令禁用默认启动脚本(感谢 StockBreak 提供了这个,今天早上为我节省了一些时间)。

EDIT2:...出于某种原因,我仍然必须从 Dropbox GUI 中删除自动启动设置(单击图标 >> 首选项 >> 在系统启动时启动 Dropbox)。希望它在这之后保持关闭。

编辑:要在每次会话开始时运行的脚本中实施此修复程序,请尝试以下解决方案:https : //askubuntu.com/a/795864/496493

  • 在 17.04 上,您可以尝试下面的“新解决方法”,即`dropbox stop && dbus-launch dropbox start`。我一直在我的笔记本电脑上使用它(目前是 Xubuntu 17.04)并且没有出现问题。如果 Dropbox 解决这个问题,那就太好了…… (2认同)

Jua*_*lez 82

一个新的解决方法,提出文件C.,是“DBUS推出的Dropbox开始-i”

据用户报告,以下改编至少适用于 Linux 发行版 Fedora、Gentoo、Kubuntu、Linux Mint、openSUSE、Slackware、Ubuntu、Xubuntu...以及桌面环境 Cinnamon、KDE ​​4、KDE ​​5、Mate、Unity、 Xfce...

这种新的dbus-launch解决方法似乎比以前的DBUS_SESSION_BUS_ADDRESS解决方法运行得更快,可靠性更高,并且在更多情况下。

作为命令行:

dropbox stop && dbus-launch dropbox start
Run Code Online (Sandbox Code Playgroud)

或者作为 shell 脚本文件:

#!/bin/bash

dropbox stop && dbus-launch dropbox start
Run Code Online (Sandbox Code Playgroud)

  • 命令行命令效果很好,但仅适用于该会话。要使修复永久有效,应在运行此命令后转到 Dropbox 指示器 > 首选项... > 取消选中系统启动时启动 Dropbox。然后将 `dbus-launch dropbox start` 添加到会话和启动 > 应用程序自动启动。这在 Xubuntu 16.04 LTS 上非常适合我。 (16认同)
  • 这是我让它在 Ubuntu Mint xenial 16.04 LTS 中工作的唯一方法。 (3认同)
  • 烦人的是,我无法编辑我的评论。应用程序自动启动命令可能应该是`dbus-launch dropbox start -i`(这适用于 Ubuntu (GNOME) Flashback 16.10,idk 是否也适用于 Xubuntu) (3认同)
  • 这适用于 lubuntu 16.4 (3认同)
  • `DBUS_SESSION_BUS_ADDRESS=""` 解决方案对我没有任何帮助,但这个解决方案有效!运行 Linux Mint 17.3。 (2认同)

小智 21

感谢 kk78 的解决方案,我完成了这个完整的解决方法(另见我的其他帖子):

复制了*我的桌面条目:

cp ~/.config/autostart/dropbox.desktop ~/.config/autostart/start_dropbox.desktop
Run Code Online (Sandbox Code Playgroud)

把条目改成这样(请注意这个env词):

[Desktop Entry]
Name=Dropbox
GenericName=File Synchronizer
Comment=Sync your files across computers and to the web
#Exec=dropbox start -i
Exec=env DBUS_SESSION_BUS_ADDRESS="" dropbox start -i
Terminal=false
Type=Application
Icon=dropbox
Categories=Network;FileTransfer;
StartupNotify=false
Run Code Online (Sandbox Code Playgroud)

并禁用 Dropbox 的自动启动:

dropbox autostart n
Run Code Online (Sandbox Code Playgroud)

* 您不能只是编辑它,因为每次登录时 Dropbox 都会替换该文件。


Jua*_*lez 8

[这是我弃用的早期答案,现在继续研究这个和相关的错误;对于更新更好的解决方法,没有 sudo 的文件所有权更改/恢复不便,请参阅 kk78 的答案,或"dropbox stop && dbus-launch dropbox start"另一个答案中的命令行]

这个 Dropbox 托盘图标错误似乎与权限有关。

在它得到修复之前,命令行(Konsole、终端等)的临时解决方法,现在正在为 Xubuntu、Linux Mint 等的用户工作:

dropbox stop
sudo dropbox start
Run Code Online (Sandbox Code Playgroud)

笔记:

关于“sudo”,以 root 身份运行 Dropbox 克服了权限错误,并且托盘图标再次正常工作。

然而,它有一个小的次要影响,在隐藏文件夹~/.dropbox/中有一些文件现在由 root 而不是用户拥有(正如你可以看到的,例如文件管理器,如 Dolphin),因此 root 密码启动 Dropbox 时请求。

这是一种临时解决方法,可以让 Dropbox 托盘图标在 Linux 上完全正常工作,直到该错误有望在下一次更新中得到修复,但如果修复后没有恢复正确的权限,那么在这种假设情况下,这是错误后的快速解决方案修复将是:

sudo dropbox stop
sudo chown -R USER:GROUP /home/USER/.dropbox
dropbox start
Run Code Online (Sandbox Code Playgroud)

当然,替换 USER 和 GROUP。例如,如果您是 Unix、UTF-8、Go 语言等的共同创造者 ;) 它会是这样的:

sudo chown -R ken:ken /home/ken/.dropbox
Run Code Online (Sandbox Code Playgroud)

更新:

抱歉,我刚刚看到一些使这个临时解决方法仍然可行但不太方便的东西:不仅隐藏~/.dropbox文件夹中已经提到的少数文件归 root 所有,还有从 Dropbox 服务器下载到 Dropbox 的文件以 root 身份运行 Dropbox 的计算机上的文件夹(通常是~/Dropbox)。

因此,在错误修复之前,我仍在使用此解决方法,但是如果我们想使用它,我们必须将权限恢复行也应用于 Dropbox 文件夹,至少在我们想要编辑我们下载的文档时是这样。例如:

sudo chown -R USER:GROUP /home/USER/Dropbox
Run Code Online (Sandbox Code Playgroud)

为了节省时间,并在我们启动计算机时应用它,我们可以将它包含在一个简单的 shell 脚本中,例如一个具有可执行属性的dropbox.sh文本文件,我们可以从命令行或通过鼠标单击运行它:

#!/bin/bash

dropbox stop
sudo dropbox start
sudo chown -R USER:GROUP /home/USER/Dropbox
Run Code Online (Sandbox Code Playgroud)

简单的替代解决方法:

代替之前的所有程序,如果处理文件所有权更改和恢复等太不方便,最简单的选择可能是不使用图标等待 Dropbox 错误修复,并不时检查 Dropbox 状态使用命令行:

dropbox status
Run Code Online (Sandbox Code Playgroud)

结果,如果 Dropbox 正在运行,大部分时间将是:"Up to date"

稍后,您可能可以使用向上箭头从可以保持打开状态的小命令行窗口再次快速运行此行。

只需键入以下内容即可查看其他命令行帮助:

dropbox
Run Code Online (Sandbox Code Playgroud)

正如已经建议的那样,要停止使用其他解决方法 (sudo),恢复正常的文件所有权,并以普通用户而不是 root 身份再次开始运行 Dropbox,只需使用一次(替换 USER 和 GROUP):

sudo dropbox stop
sudo chown -R USER:GROUP /home/USER/Dropbox
sudo chown -R USER:GROUP /home/USER/.dropbox
sudo chown -R USER:GROUP /home/USER/.dbus
dropbox start
Run Code Online (Sandbox Code Playgroud)

新更新:

请参阅kk78对此问题的回答,其解决方法比我的要好得多,并且 Dropbox 托盘图标为普通用户,而不是 root。它至少适用于 Xubuntu 和 Linux Mint。

它也可以用作 shell 脚本:

#!/bin/bash

dropbox stop && DBUS_SESSION_BUS_ADDRESS="" dropbox start
Run Code Online (Sandbox Code Playgroud)

  • 此解决方法在我的 Xubuntu 14.04 64 中确实有效。请注意“sudo”。谢谢 Juan M. Gonzalez (3认同)