Das Problem
Dies ist ein defekter Dropbox-Indikator in Gnome-Flashback unter Ubuntu 16.04.1. (Dropbox-Version: x86_64-9.4.94)
Wie man hier sehen kann, funktioniert es in Unity einwandfrei. Aber wie bekomme ichDasin Gnome-Flashback (als App-Indikator)?
Die Problemumgehung
Wenn ich Dropbox zwinge, sich als altmodisches Systray-Symbol 1 anzuzeigen , wird das Menü nutzbar.
Offene Fragen
- Was veranlasst Dropbox dazu, das Farbsymbol in Gnome-Flashback anzuzeigen, wenn es als App-Indikator ausgeführt wird? Als Indikator ist es in Unity schwarzweiß.
- Kann ich Dropbox vorgaukeln, dass es unter Unity läuft? Kann ich den „Appindicator-Modus“ erzwingen?
- Stimmt etwas mit dem Dropbox-Code nicht, der nicht richtig zwischen Systray und App-Indicator unterscheiden kann? Dieses farbige Symbol sieht aus wie das Ergebnis von halb Systray, halb App-Indicator ...
1 Sie können Dropbox in den „Systray-Modus“ zwingen, indem Sie es ausführen dbus-launch dropbox start
oder DBUS_SESSION_BUS_ADDRESS= dropbox start
anstatt es mit einem einfachen zu starten dropbox start
.
Antwort1
Kann ich Dropbox vorgaukeln, dass es unter Unity läuft? Kann ich den „Appindicator-Modus“ erzwingen?
Ja, das können Sie! Experimente haben gezeigt, dass Dropbox (oder ähnliche Programme) nach der Umgebungsvariable sucht XDG_CURRENT_DESKTOP
, einem Standardelement von freedesktop.org, das den Namen der verwendeten Desktop-Umgebung widerspiegelt. Setzen Sie sie auf Unity
und Dropbox wird vernünftig. (Ich habe andere sinnvolle Werte ausprobiert, aber die Ergebnisse waren schlechter.)
Es gibt mehrere Möglichkeiten, diese Variable in Dropbox zu platzieren. Ich habe mich entschieden, das Befehlszeilenschnittstellenskript /usr/bin/dropbox
aus dem nautilus-dropbox
Paket so zu bearbeiten, dass diese Variable immer überschrieben wird. Fügen Sie diese Zeile nach den Importen hinzu. Sie funktioniert auch für „Dropbox beim Systemstart starten“:
os.environ['XDG_CURRENT_DESKTOP'] = 'Unity'