Como você pode sair pelo terminal?

248

Existe um comando de terminal que fará o logout da sua sessão atual da área de trabalho e o levará de volta à tela de login?

TheXed
fonte

Respostas:

197

11.10 e acima

gnome-session-quit

11.04 e versões anteriores

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1

(via texto alternativoDoR , 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 )

Stefano Palazzo
fonte
1
esta é a maneira mais fácil? nenhum comando simples de uma linha como sudo logout?? Eu nunca vou me lembrar de tudo isso.
TheXed
2
Bem, sempre há Ctrl-Alt-Backspace (se você ativá-lo), mas novamente isso mata a sessão em vez de sair dela.
koanhead
4
U pode atualize sua resposta dizendo "gnome-session-save" foi renomeado para "gnome-session-quit" para 11.10 +
mac
1
Você pode adicionar DISPLAY =: 0.0 ou semelhante ao tentar sair de uma sessão do ssh ou de outro terminal.
31813 patrikf
3
Parece-me que "--force-logout" não funciona muito bem, pois fornece este erro: AVISO **: Não é possível iniciar: opção desconhecida --force-logout. Depois de pesquisar 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.
TSJNachos117
76

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
Dan
fonte
2
Eu também fiz um apelido para mim alias ulogout="sudo pkill -KILL -u $1". Pode ser útil para alguém. Uso:ulogout user_name
Eugene
1
@Eugene Que tal alias logout="sudo pkill -u ${USER}"?
Georgi-it
Esta é uma ótima solução para VMs, como no Virtualbox.
precisa
1
Existe uma razão para você precisar 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?
capybaralet
Para companheiro, use mate-session-save --force-logout. Veja esta resposta .
Jérôme
32

11.10 e acima

Aqui está a minha solução pessoal!

No terminal, execute:

gedit ~/.bash_aliases

E adicione:

alias log-out="gnome-session-quit"

para o arquivo! Agora você só precisa executar o logout!

usuario
fonte
11

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.

belacqua
fonte
9

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 .


fonte
Confirmado, isso também vale para todos os sabores do Ubuntu Studio.
somethis
9

Você pode usar o comando abaixo:

sudo service lightdm restart
Osama El-gedawy
fonte
2
Isso mata todas as sessões X em execução, para todos os usuários.
sehe
em ~/.bash_aliaseswritealias logmeout="service lightdm restart"
noobninja
7

Para uso do Ubuntu Mate mate-session-save --force-logout. É como gnome-session-quit.

Velho Badman Grey
fonte
6

lubuntu 12.10 LXDE rodando em um netbook Samsung (CPU: 1.66 GHZ Intel Atom; RAM: 2GB)

Os dois comandos abaixo me desconectaram imediatamente:

sudo pkill -u username
sudo service lightdm restart
afc888ny
fonte
esta é a resposta correta para mim!
3

Eu tentei gnome-session-quit --forcee funciona!

Nota: eu uso o ubuntu 15.04

Vazha Gelashvili
fonte
3

Caso não queira interromper sua sessão, você pode voltar para a tela de login usando:

dm-tool switch-to-greeter

Se você selecionar seu usuário e digitar sua senha, a sessão será retomada, portanto não será um logout completo.

Zanna
fonte
2

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
vanvliet.eric
fonte
2
Você poderia adicionar mais informações sobre como realmente usar isso? É um pouco vago agora. Obrigado!
Seth
adicione a linha ao seu .bashrc, digite logoff no prompt.
26414 vanvliet.eric
Você deve editar essas informações na sua resposta;)
Seth
1

E no kubuntu 12.04+ é:

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 0 0
Adobe
fonte
0

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.

user258456
fonte
0

Atualização de 2019

Outras respostas não funcionaram para mim. No Ubuntu 18 (LTS), é fácil digitar:

exit

Você retornará à tela de login.

Pavel Kovalev
fonte
-1

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á.

luv.preet
fonte