Das Problem

Das Problem

Das Problem

Defektes Dropbox-Menü als App-Indikator in Gnome-Flashback

Dies ist ein defekter Dropbox-Indikator in Gnome-Flashback unter Ubuntu 16.04.1. (Dropbox-Version: x86_64-9.4.94)



Funktionierendes Dropbox-Menü in Unity

Wie man hier sehen kann, funktioniert es in Unity einwandfrei. Aber wie bekomme ichDasin Gnome-Flashback (als App-Indikator)?




Die Problemumgehung

Bildbeschreibung hier eingeben

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 startoder DBUS_SESSION_BUS_ADDRESS= dropbox startanstatt 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 Unityund 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/dropboxaus dem nautilus-dropboxPaket 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'

verwandte Informationen