Como fechar a sessão do XServer via comando

3

Eu tenho um computador Debian 8.5. Para criar uma nova sessão, eu corro o comando %código%. Com este comando, uma nova sessão é criada. Como posso via comando fechar esta sessão e retornar para a anterior?

    
por Pavel 03.02.2017 / 21:00

1 resposta

3

Mate o processo mestre da sessão X. O processo mestre é aquele que começou na vida como o filho de xinit , ou seja, ~/.xinitrc (que normalmente é um script de shell). Geralmente, a última coisa que o .xinitrc faz é chamar um gerenciador de janelas ou um gerenciador de sessão (por exemplo, twm , fvwm , gnome-session ,…).

Para lembrar o ID do processo, você pode colocá-lo em uma variável de ambiente. Por exemplo, eu tenho isso no meu .xinitrc :

export XSESSION_PID="$$"
…
exec my-favorite-window-manager

Dessa forma, posso sair usando o comando "exit" do my-favorite-window-manager ou executando kill $XSESSION_PID de qualquer shell nesta sessão X.

Alternativamente, se você é moderno o suficiente para rodar D-Bus e um gerenciador de janelas / sessão ciente do D-Bus, você pode deixá-lo saber que você quer sair enviando um comando através do D-Bus. Veja Forma universal de sair do terminal via dbus

    
por 04.02.2017 / 00:08