问题
这是 Ubuntu 16.04.1 上 gnome-flashback 中损坏的 Dropbox 指示器。(Dropbox 版本:x86_64-9.4.94)
正如这里所见,它在 Unity 中运行良好。但我该如何那在 gnome-flashback 中(作为 appindicator)?
解决方法
当我强制 Dropbox 将自己显示为老式的系统托盘图标1时,菜单变得可用。
未解决的问题
- 当 Dropbox 作为 appindicator 运行时,是什么让它在 gnome-flashback 中显示彩色图标?作为指示器,它在 Unity 中是黑白的。
- 我可以欺骗 Dropbox 让它相信它在 Unity 下运行吗?我可以强制使用“appindicator 模式”吗?
- Dropbox 代码是否有问题,导致无法正确选择系统托盘/应用程序指示器?这个彩色图标看起来像一半是系统托盘,一半是应用程序指示器...
1dbus-launch dropbox start
您可以通过运行或强制 Dropbox 进入“系统托盘模式”,DBUS_SESSION_BUS_ADDRESS= dropbox start
而不是使用普通的 启动它dropbox start
。
答案1
我可以欺骗 Dropbox 让它相信它在 Unity 下运行吗?我可以强制使用“appindicator 模式”吗?
是的,你可以!实验表明,Dropbox(或相关程序)会查找环境变量XDG_CURRENT_DESKTOP
,这是一个 freedesktop.org 标准变量,反映了正在使用的桌面环境的名称。将其设置为,Unity
Dropbox 就会恢复正常。(我尝试了其他合理的值,但结果更糟。)
有几种方法可以将该变量植入 Dropbox。我选择/usr/bin/dropbox
从nautilus-dropbox
包中编辑命令行界面脚本以始终覆盖此变量。在导入后添加此行。它也适用于“在系统启动时启动 Dropbox”:
os.environ['XDG_CURRENT_DESKTOP'] = 'Unity'