問題
這是 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 程式碼是否有問題,無法在 systray/appindicator 之間做出正確決定?這個彩色圖示看起來像是一半系統托盤、一半應用程式指示器的結果...
1您可以透過運行強制 Dropbox 進入“系統托盤模式”,dbus-launch dropbox start
或者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'