Você pode digitar env
para descobrir quais ambientes estão configurados.
A seguinte resposta foi encontrada deste link
XDG_CURRENT_DESKTOP - Tells you what Windows Manager you are using
GDMSESSION - Tells you what option you selected from the lightdm greeter to login.
Para usá-los, vá até o terminal e digite:
echo $XDG_CURRENT_DESKTOP
(Irá produzir, por exemplo, 'unity' se você estiver usando o Unity)
ou
echo $GDMSESSION
(Irá sair por exemplo 'ubuntu' se você selecionou o ubuntu no login ou 'ubuntu-2d' se você selecionou aquele no login.)
Você tem outros se olhar mais de perto a saída de env como DESKTOP_SESSION e COMPIZ_CONFIG_PROFILE
Visto que o que você está procurando é o nome do que o Gerenciador de Janelas está usando, a única maneira de ver como obtê-lo é procurando na lista de processos. Para fazer isso, existe um comando chamado pgrep (Wikipedia). Eu fiz o seguinte para obter o nome desde o parâmetro -l adiciona o ID do processo:
pgrep -l compiz |cut -d " " -f2
desde que o processo está sendo executado pelo mesmo usuário, não há necessidade de prefixar a parte do sudo. Você pode usar isso para criar um script que faça uma ação com base no Gerenciador de Janelas.
Para procurar outros tipos, basta alterar a palavra compiz
para outra, como mutter
, kwin
, etc.
No Ubuntu 12.04, testei as variáveis de ambiente XDG_CURRENT_DESKTOP e GDMSESSION e obtive os seguintes resultados:
KDE
XDG_CURRENT_DESKTOP = GDMSESSION = kde-plasma Unidade 3d
XDG_CURRENT_DESKTOP = Unidade GDMSESSION = ubuntu Unity 2d
XDG_CURRENT_DESKTOP = Unidade GDMSESSION = ubuntu-2d
Gnome
XDG_CURRENT_DESKTOP = GNOME GDMSESSION = gnome-shell
Gnome Classic
XDG_CURRENT_DESKTOP = GNOME GDMSESSION = gnome-classic
Gnome Classic sem efeitos
XDG_CURRENT_DESKTOP = GNOME GDMSESSION = gnome-fallback Outras distribuições baseadas no Ubuntu:
Hortelã 13 (canela)
XDG_CURRENT_DESKTOP = GNOME GDMSESSION = canela
Lubuntu 12.04
XDG_CURRENT_DESKTOP = LXDE GDMSESSION = Lubuntu