Проблема
Это сломанный индикатор Dropbox в gnome-flashback на Ubuntu 16.04.1. (Версия Dropbox: x86_64-9.4.94)
Как можно увидеть здесь, это прекрасно работает в Unity. Но как мне получитьчтов gnome-flashback (как appindicator)?
Обходной путь
Когда я заставляю Dropbox отображаться в виде старого значка системного трея 1, меню становится пригодным для использования.
Открытые вопросы
- Что убеждает Dropbox отображать цветную иконку в gnome-flashback, когда он работает как appindicator? В качестве индикатора он черно-белый в Unity.
- Могу ли я обмануть Dropbox, заставив его поверить, что он работает под управлением Unity? Могу ли я принудительно включить "режим индикатора приложения"?
- Что-то не так с кодом Dropbox, который не может правильно выбрать между systray/appindicator? Этот цветной значок выглядит как результат наполовину systray, наполовину appindicator...
1 Вы можете принудительно перевести Dropbox в «режим трея», запустив dbus-launch dropbox start
или DBUS_SESSION_BUS_ADDRESS= dropbox start
вместо запуска простого файла dropbox start
.
решение1
Могу ли я обмануть Dropbox, заставив его поверить, что он работает под управлением Unity? Могу ли я принудительно включить "режим индикатора приложения"?
Да, можно! Эксперименты показывают, что Dropbox (или родственные ему) ищет переменную окружения XDG_CURRENT_DESKTOP
, стандартную вещь freedesktop.org, отражающую имя используемой среды рабочего стола. Установите ее в , Unity
и Dropbox станет нормальным. (Я пробовал другие разумные значения, но результаты были хуже.)
Будет несколько способов установить эту переменную в Dropbox. Я решил отредактировать скрипт интерфейса командной строки /usr/bin/dropbox
из nautilus-dropbox
пакета, чтобы всегда перезаписывать эту переменную. Добавьте эту строку после импорта. Это также будет работать для "Запускать Dropbox при запуске системы":
os.environ['XDG_CURRENT_DESKTOP'] = 'Unity'