Como encontro o ambiente de GUI em execução a partir do terminal? [duplicado]

10

É uma questão bastante básica, mas não consegui encontrar uma resposta satisfatória em nenhum lugar:

Como descubro a partir do terminal qual é a GUI em execução?

O sistema em que estou trabalhando é mínimo, tudo o que posso ver são janelas xterm, de onde posso abrir aplicativos (em janelas separadas). Eu posso abrir uma nova janela xterm clicando com o botão direito em uma área livre na área de trabalho. Toda vez que eu abro um aplicativo e, portanto, uma nova janela, para realmente abrir a janela, eu tenho que clicar com o mouse em uma área livre da tela.

Eu não acho que essa pergunta seja uma duplicata de Existe uma maneira de recuperar o nome do Desktop Environment? , porque minha configuração é um pouco diferente daquela, e nenhuma de suas respostas funciona para mim.

    
por simona 04.06.2013 / 19:57

1 resposta

6

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

    
por 04.06.2013 / 20:52