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?

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 )


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

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!



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.


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 .


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

9

Você pode usar o comando abaixo:

sudo service lightdm restart

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


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

esta é a resposta correta para mim!


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.


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

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

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.


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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.