Respostas:
gnome-session-quit
dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1
(via
DoR , veja sua resposta para "Reiniciar sem privilégios de sudoer?" para mais vantagens do dbus!)
ou, como alternativa, você pode usar
gnome-session-save --force-logout
--force-logoutao contrário de apenas --logoutnão solicitará que o usuário lide com documentos não salvos e assim por diante.
esta é a maneira mais fácil? nenhum comando simples de uma linha como sudo logout ?? Eu nunca vou me lembrar de tudo isso.
Sim, existe um comando chamado logout, mas diz respeito ao Terminal. O gnome-session-save é o programa que realmente sai do programa gnome-session, o qual você pode matar, é claro, mas que não se qualificaria como logout. :-)
Observe também que esses comandos não exigem que você seja root.
Você sempre pode adicionar um alias ao seu sistema se desejar ter um comando mais curto.
Abra ~/.bash_aliasescom um editor de texto ou crie-o, se não estiver lá, e adicione algo assim:
alias logout-gnome="gnome-session-save --force-logout"
(.bashrc é um script que é executado sempre que um novo terminal virtual é iniciado, você deve configurar todos os seus aliases permanentes lá, veja também: ? Como criar um "apelido" permanente )
man gnome-session-quit, descobri que "--force" e "--logout" são realmente argumentos diferentes. Portanto, "--force --logout" (dois menos antes de "force" e "logout", com um espaço entre eles) seria melhor, pois você não terá erros. Pelo menos, é o caso do Ubuntu 13.04 e Linux Mint 15. IDK sobre outras / versões mais antigas de qualquer distro.
Eu tinha instalado o mate desktop e nenhum dos menus funcionava, mesmo as teclas f não funcionavam. Eu consegui obter o xterm navegando com o gerenciador de arquivos.
A única coisa que funcionou foi:
sudo pkill -u username
alias ulogout="sudo pkill -KILL -u $1". Pode ser útil para alguém. Uso:ulogout user_name
alias logout="sudo pkill -u ${USER}"?
sudo? Além disso, acho que isso é diferente de fazer logoff, pois ele mata todos os seus processos (por exemplo, se você tiver outra sessão remota, ela também será morta). Também não tenho certeza de que isso necessariamente matará todos os seus processos (posso imaginar que possa se matar primeiro?) Você sabe se isso é possível?
mate-session-save --force-logout. Veja esta resposta .
Parece que gnome-session-savefoi renomeado gnome-session-quitpara 11.10. Tudo o mais na resposta principal ainda deve funcionar com essa única mudança.
http://mail.gnome.org/archives/desktop-devel-list/2011-February/msg00147.html
Para sessões gnome, gnome-session-quitfunciona bem. Por padrão, ele solicita confirmação e, em seguida, desconecta você (ou seja, o --logoutargumento é assumido, a menos que seja substituído por --power-offexplicitamente). Você também pode dizer ao comando para não solicitar confirmação no logout:
--no-prompt
End the session without user interaction. This only works with --logout.
gnome-session-quit ainda é válido em 12.04.
Como o OP não especificou o gerenciador de janelas / desktop, e o gnome-session-quit pode não funcionar com todas as possibilidades, aqui está uma maneira genérica do X-windows de retornar à tela de login ou ao seletor que já usei várias vezes os últimos lançamentos:
A partir de um terminal (chamado com, 'Alt-F2 + xterm, ou Ctrl-T, ou Crt-Alt-F1, ou clicando com o botão direito do mouse na área de trabalho do Nautilus e usando o atalho "abrir no terminal", etc.) ) tipo
sudo pkill X
Isso geralmente é um exagero para a maioria das situações. Costumo usá-lo quando tenho um processo interrompido ou quando preciso sair rapidamente. Quando eu fiz isso, o Ubuntu educadamente me retornou à tela de login ao gerar novamente o X-windows.
Ainda não usei o power-offrecurso do gnome-session-quit, como normalmente uso shutdown -P nowpara esse fim.
No Xubuntu (ou sempre que estiver usando uma sessão do Xfce), você pode fazer logout através do terminal usando
xfce4-session-logout --logout
Você deve especificar --logoutou a tela de confirmação de logout será exibida. Isso funcionará se você especificou 'Sessão do Xubuntu' ou 'Sessão do Xfce' quando efetuou login Lightdm, pois a sessão ainda é gerenciada pelo gerenciador de sessões do Xfce.
Além disso, outra opção também fará o seu logout:
xfce4-session-logout --fast
Se esse comando for emitido, a sessão não será salva, portanto, normalmente é melhor usá-lo xfce4-session-logout --logout.
A capacidade de efetuar logout usando o terminal será muito útil para você, assim como as outras opções, como a suspensão, disponíveis com o xfce4-session-logout.
Para mais informações, consulte man xfce4-session-logoutou as páginas de manual do Ubuntu online .
Para uso do Ubuntu Mate mate-session-save --force-logout. É como gnome-session-quit.
Eu tentei gnome-session-quit --forcee funciona!
Nota: eu uso o ubuntu 15.04
Defina uma função adicionando a seguinte linha ao seu .bashrc e, em seguida, chame digitando logoff no prompt do shell.
logoff() { gnome-session-quit --logout --no-prompt ; } # Log Out
Existe uma maneira de funcionar, se você estiver executando o X ou se estiver em um TTY. Ai está:
Se você usar lightdm
sudo service lightdm restart
se você usa gdmou no Ubuntu GNOME
sudo service gdm restart
Se você usa kdmou no Kubuntu
sudo service kdm restart
A desvantagem deste comando é que ele solicitará sua senha.
Atualização de 2019
Outras respostas não funcionaram para mim. No Ubuntu 18 (LTS), é fácil digitar:
exit
Você retornará à tela de login.
Eu encontrei isso acidentalmente.
luvpreet@DHARI-Inspiron-3542:~/go/bin$ who -uH
NAME LINE TIME IDLE PID COMMENT
luvpreet tty7 2017-12-27 17:33 old 27458 (:0)
Aqui você obtém a identificação do processo da sua sessão atual.
Tão fácil. Mate isso
luvpreet@DHARI-Inspiron-3542:~$ kill 27458
Ai está.
sudo logout?? Eu nunca vou me lembrar de tudo isso.