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