Isto é o que eu uso para sair do uso do xmonad (depois de usar wmctrl
para fechar todas as janelas abertas):
session='loginctl session-status | head -n 1 | awk '{print $1}''
loginctl terminate-session $session
Não sei por que você precisa de mais privilégios para loginctl terminate-session
- isso funciona para mim sem essa necessidade.
Observe também que existem maneiras diferentes de obter o ID da sessão. Neste exemplo, eu simplesmente o copio diretamente de loginctl
. Há também $XDG_SESSION_ID
(como você escreveu) e /proc/self/sessionid
.