問題
これは、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 コードに何か問題があり、システム トレイとアプリ インジケーターを適切に判断できないのでしょうか? この色付きアイコンは、半分はシステム トレイ、半分はアプリ インジケーターの結果のように見えます...
1単純な で起動する代わりにdbus-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'