Я думаю, что необходимость здесь в самом деле более определена в библиотеке python-appindicator. Если он присутствует, он будет поддерживать все резервные случаи, которые вам нужны. Он будет обрабатывать XFCE, KDE и более старый GNOME соответствующим образом. Хороший пример того, как это сделать в этом ответе.
Библиотека appindicator будет использовать DBus, чтобы проверить, доступен ли процесс рендеринга индикатора приложения. Это будет иметь место в Unity, или если индикатор-апплет запущен. Если он доступен, он будет использовать это, если нет, то он откажется от использования GtkStatusIcon с тем же меню.
К сожалению, я считаю, что вам нужно будет сохранить оба пути кода, если вы хотите обрабатывать случай отсутствия библиотеки. Хотя, мы будем рады помочь получить библиотеку в других дистрибутивах:)