Fonte pode ser encontrada aqui .
Não suporta Unity:
deDict = {
'cinnamon-sessio': 'Cinnamon',
'gnome-session': 'GNOME',
'mate-session': 'MATE',
'ksmserver': 'KDE',
'xfce4-session': 'Xfce',
'lxsession': 'LXDE'
}
Este comando:
processes = str(subprocess.check_output(('ps', '-u', getuser(), '-o', 'comm',
'--no-headers')), encoding='utf8').rstrip('\n').split('\n')
é avaliado como verdadeiro para "gnome-session":
$ps -u {user} -o comm | grep gnome-session
gnome-session
O que deve fazer é procurar por algo com "unidade" ...
$ps -u {user} -o comm | grep unity
unity-settings-
unity-panel-ser
unity-fallback-
unity-scope-hom
unity-scope-loa
unity-files-dae
unity-music-dae
Correção possível do script em sua máquina:
deDict = {
'cinnamon-sessio': 'Cinnamon',
'gnome-session': 'GNOME',
'mate-session': 'MATE',
'ksmserver': 'KDE',
'xfce4-session': 'Xfce',
'lxsession': 'LXDE',
'unity-settings-': 'UNITY'
}
Ah, e isso deve ser informado aqui .