Corrigir 'Não é possível fazer login' após o logout com Gnome / GDM3 no Ubuntu

18 de junho de 2019

Tive um problema há algum tempo: depois de fazer logout, não consegui acessar a sessão padrão do Ubuntu (Gnome). Depois de pesquisar um pouco, consegui encontrar uma solução para esse problema, então aqui está uma solução, caso você também esteja tendo esse problema de "não consigo fazer login novamente após sair".

O problema de "não é possível fazer o login após o logout" parece acontecer em ambientes de desktop Gnome usando GDM 3 no Xorg, com computadores usando gráficos Nvidia usando drivers proprietários, embora eu não esteja 100% certo sobre esta última parte. Além disso, o problema acontece na maioria das vezes, mas nem sempre.

GDM3 login screen on Ubuntu

E não é apenas o Ubuntu, como tenho visto relatórios com o mesmo problema para Fedora também (está marcado como corrigido, embora ainda haja usuários procurando por uma solução), mas estranhamente parece acontecer com o Wayland, e não Xorg, que é o que meu computador usa quando se depara com isso. Isso pode ser um problema diferente, é por isso que mencionei apenas o Ubuntu no título, mas você pode tentar isso em qualquer distribuição Linux.

Também é importante notar que isso acontece tanto com um único usuário (tendo apenas um usuário no sistema), quanto em sistemas com vários usuários, independentemente se você tentar fazer o login usando o mesmo usuário, ou alternar para um usuário diferente.

Eu experimentei esse bug com o Ubuntu 18.04, 18.10 19.04, então não é novo, mas parece que escapou dos desenvolvedores. O bug pode ser ainda mais antigo, mas eu não usei o Gnome antes do Ubuntu 18.04.

Parece que você não pode fazer o login novamente após um logout no Gnome (com o Xorg no meu caso) porque a sessão não foi fechada corretamente/algo trava. A solução é garantir que nenhum processo para o usuário desconectado permaneça ativo, executando killall -9 -u $USER após o logout, para o usuário que acabou de efetuar logout.

Para aplicar esta solução para corrigir o problema de "não é possível fazer o login após o logout", o comando que mencionei precisa ser executado depois que você selecionar o logout no menu Sistema Gnome. Você pode executar um comando após a conclusão de uma sessão, adicionando-o ao arquivo /etc/gdm3/PostSession/Default - a partir da [página man] GDM3 (https://manpages.debian.org/jessie/gdm3/gdm3.8.en.html): "Quando a sessão for concluída, o gdm tenta executar /etc/gdm3/PostSession/display ou /etc/gdm3/PostSession/Default". Se você estiver tentando usar isso em uma distribuição Linux diferente de Ubuntu ou Debian, observe que o caminho para o arquivo GDM3 PostSession/Padrão pode ser diferente!

Então, vamos editar este arquivo com o editor de texto de linha de comando Nano:

Comandos para usar no terminal

sudo nano /etc/gdm3/PostSession/Default

Acima da exit 0 (última) linha, adicione este comando:

Comandos para usar no terminal

killall -9 -u $USER

Agora salve o arquivo e saia do Nano (para salvar o arquivo usando o editor de texto de linha de comando do Nano, pressione Ctrl + o e Enter; depois de salvar, saia usando Ctrl + x).

O problema com novos logins que não funcionam após um logout deve ser corrigido agora, e você pode tentar fazer logout e login novamente (não há necessidade de reinicializar). Eu testei isso para ter certeza de que funciona algumas vezes (e funcionou todas as vezes), mas apenas no Ubuntu 19.04, já que só tenho um computador para experimentar, e isso não parece acontecer em uma máquina virtual.

Caso você tenha conhecimento de uma solução diferente e melhor, informe-me na seção de comentários.

Esse post foi traduzido do site LinuxUprising.com pela rtland.team.

Linux Uprising Blog

Confira a versão original desse post em inglês:

Fix Can't Login After Logout With Gnome / GDM3 On Ubuntu
Propaganda
Propaganda