Dropbox AppIndicator 菜单在 gnome-flashback 中损坏

Rob*_*mer 11 indicator dropbox gnome-classic system-tray

问题

在 gnome-flashback 中作为 appindicator 的损坏的 Dropbox 菜单

这是 Ubuntu 16.04.1 上 gnome-flashback 中损坏的 Dropbox 指示器。(Dropbox 版本:x86_64-9.4.94)



Unity 中的 Dropbox 菜单

正如此处所见,它在 Unity 中运行良好。但是我怎样才能在 gnome-flashback 中得到(作为 appindicator)?




解决方法

在此处输入图片说明

当我强制 Dropbox 将自己显示为老式系统托盘图标1 时,菜单变得可用。




开放问题

  • 当 Dropbox 作为 appindicator 运行时,是什么说服 Dropbox 在 gnome-flashback 中显示颜色图标?作为指示器,它在 Unity 中是黑白的。
  • 我可以欺骗 Dropbox 相信它在 Unity 下运行吗?我可以强制使用“appindicator 模式”吗?
  • Dropbox 代码无法在系统托盘/应用程序之间正确决定是否有问题?这个彩色图标看起来像是一半系统托盘,一半应用程序的结果......



1您可以通过运行dbus-launch dropbox startDBUS_SESSION_BUS_ADDRESS= dropbox start代替普通dropbox start.

Rob*_*mer 9

我可以欺骗 Dropbox 相信它在 Unity 下运行吗?我可以强制使用“appindicator 模式”吗?

是的你可以!实验表明,Dropbox(或相关的)寻找环境变量XDG_CURRENT_DESKTOP,这是 freedesktop.org 标准的东西,反映了正在使用的桌面环境的名称。将其设置为Unity,Dropbox 就会恢复正常。(我尝试了其他合理的值,但结果更糟。)

将有多种方法可以在 Dropbox 上植入该变量。我选择/usr/bin/dropboxnautilus-dropbox包中编辑命令行界面脚本以始终覆盖此变量。在导入后添加此行。它也适用于“在系统启动时启动 Dropbox”:

os.environ['XDG_CURRENT_DESKTOP'] = 'Unity'
Run Code Online (Sandbox Code Playgroud)