Какова моя текущая настольная среда?

Как я могу узнать то, что моя настольная среда использует Python? Мне нравится, когда результат гном или KDE или иначе.

6
задан Trilarion 2 July 2014 в 20:52
поделиться

3 ответа

Проверено в Ubuntu 9.10:

>>> import os
>>> os.environ.get('DESKTOP_SESSION')
'gnome'

Правка: Как упоминалось в комментариях ниже, такой подход не будет работать для некоторых ОС. Два других ответа дают обходные пути.

6
ответ дан 8 December 2019 в 04:08
поделиться

Вы можете попробовать это:

def detect_desktop_environment():
    desktop_environment = 'generic'
    if os.environ.get('KDE_FULL_SESSION') == 'true':
        desktop_environment = 'kde'
    elif os.environ.get('GNOME_DESKTOP_SESSION_ID'):
        desktop_environment = 'gnome'
    else:
        try:
            info = getoutput('xprop -root _DT_SAVE_MODE')
            if ' = "xfce4"' in info:
                desktop_environment = 'xfce'
        except (OSError, RuntimeError):
            pass
    return desktop_environment

И прочитать обсуждение здесь: http://ubuntuforums.org/showthread.php?t=1139057

4
ответ дан 8 December 2019 в 04:08
поделиться

Иногда люди управляют смесью настольных сред. Сделайте ваше приложение Desktop-Agnostic, используя XDG-Utils ; Это означает использование XDG-Open , чтобы открыть файл или URL, с использованием документов XDG-пользовательских документов , чтобы найти папку Docs, XDG-E-mail для отправки E -Мал, и так далее.

4
ответ дан 8 December 2019 в 04:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: