Loop de login após a atualização para 16.04


16

Encontrei um loop de login depois de atualizar o xenial beta para as atualizações mais recentes.

Eu tentei muitas coisas:

  • xauthorityou /tmpprivilégios mudam

  • Reinstalando os drivers da nvidia, removendo-os.

  • reinstalar unity, unity-greeter, ubuntu-desktop, upstart, lightdme compiz.

  • redefinição compize unityconfigurações. (Eu recebo dbuserros de inicialização:

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • usando kernel mais antigo e à prova de falhas (relatório à prova de falhas, nenhuma tela encontrada)

  • tentou lançar outro DE (steam big picture)

Aqui está o log de erros do xsession:

unity:
open connection: connect: No such file or directory
Cannot connect to brltty at :0
upstart: gnome-session (unity) main process (5441) terminated with status 1
upstart unity-settings-daemon main process (5434) killed by TERM signal

steam big picture:
open connection: connect: No such file or directory
Cannot connect to brltty at :0
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libmodeswitch_inhibitor.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file(: ignored.
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libmodeswitch_inhibitor.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file(: ignored
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libmodeswitch_inhibitor.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file(: ignored
Could not create GLX context
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/libmodeswitch_inhibitor.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file(: ignored

No log do Unity (compiz), existem muitos erros sobre o plugin opengl

Compiz (opengl) - Fatal: glXQueryExtenisonsString is NULL for screen 0

E muitos plugins descarregados por causa do opengl.

Lightdm tem sinal SIGTERM repentino sem erros anteriores no log.

O xserver possui 2 erros:

xf86EnablePorts: failed to set IOPL for I/O (Operation not permitted)
(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

Mas ele continua com as operações de entrada até que de repente seja finalizado.

Respostas:


18

No meu caso, os drivers originais da nvidia foram a causa e a mudança para o código-fonte aberto nouveau ajudou. Primeiro, removi todas as coisas da nvidia:

sudo apt-get remove --purge 'nvidia-*'
sudo apt-get install ubuntu-desktop
sudo rm /etc/X11/xorg.conf
echo 'nouveau' | sudo tee -a /etc/modules

(fonte: como posso desinstalar completamente um driver da nvidia? )

Depois disso, eu consegui entrar, mas o unity não carregou, não havia lançador, etc. Aconteceu que eu tive que reativar o plug-in do Unity:

sudo apt-get install compizconfig-settings-manager
DISPLAY=:0 ccsm
Find the Unity plugin and enable it.

(fonte: Unity não carrega, nenhum Launcher, nenhum Dash aparece )


A remoção de nvidia-*foi a principal correção para mim. Em ~/.xsession.errorseu tive uma mensagem cannot connect to brltty at 0que está relacionada à NVIDIA.
31418 Jon

11
Eu segui estas etapas exatas, mas não funcionou para mim
Hakaishin

Além disso, se eu precisar usar os drivers da Nvidia, isso não funcionará.
Hakaishin

@Hakaishinrare você é capaz de resolvê-lo?
sagarr

3

O problema é que, quando você atualiza o Ubuntu (e mesmo quando instala determinados programas que chamam /sbin/ldconfig), são feitas alterações /etc/ls.so.cache.

Experimente e você verá que o ld.so.cachearquivo após essa instalação / atualização terá um tamanho diferente do que antes da operação.

Isso, no Ubuntu 16.04, resulta em um loop de login ao efetuar login no lightDM. Portanto, você deve manter uma cópia do original ld.so.cache, pois, com a nova versão gerada após a instalação / atualização, o lightDM não será mais autenticado.

Eu tive esse problema muitas vezes e tive que ter muito cuidado com isso. Eu sempre mantenho uma cópia do arquivo original ( /etc/ld.so.cache.orig) que me permite fazer login sem o loop de login e o uso para fazer login. Depois, depois de fazer o login com êxito, copio o novo ( /etc/ld.so.cache.new). Para fazer isso, modifiquei meu ~/.bash_profilearquivo e adicionei esta linha:

sudo /bin/cp /etc/ld.so.cache.new /etc/ld.so.cache

Então, para copiar o arquivo original de volta ao sair da sessão, para poder registrar um ganho na próxima vez, adicionei esta linha a /etc/gdm/PostSession/Default:

/bin/cp /etc/ld.so.cache.orig /etc/ld.so.cache

Para que isso funcione, modifiquei /etc/sudoers(executando sudo vosudo) para permitir que usuários não privilegiados executem o comando copy:

ALL     ALL= NOPASSWD: /bin/cp /etc/ld.so.cache.new /etc/ld.so.cache

Isso pode parecer um truque feio, mas contorna esse problema do loop de login e também mantém o novo /etc/ld.so.cachearquivo.


11
Então, pergunte ao Ask Ubuntu é uma página que você pode escrever sozinho em inglês. Gracias pela respetiva pero como em Castellano, o tubo que empresta. Se não houver, nem inglês, inglês ou chinês, usar ferramentas como o Google Tradutor para traduzir suas contribuições.
terdon 9/09/16

De fato, a tradição que você tem é uma solução de solução. Para o futuro, favor usar o Google Translate.
terdon 9/09/16

3

Eu tive o mesmo erro no 16.04 também. No meu caso, também foi um problema de driver da NVidia. Tenho 8 monitores e gosto do desempenho do mergulhador NVidia com eles. Então, para fazê-lo funcionar, eu:

  1. Pressione CTRL+ ALT+ F1no prompt de login e faça login no terminal.

  2. O backup pode ser um /etc/X11/xorg.confarquivo antigo , pois foi difícil configurar 8 monitores.

  3. Download do arquivo do driver da NVidia: NVIDIA-Linux-x86_64-367.44.run

  4. Execute o seguinte comando: sudo service lightdm stop(a instalação do driver falhará se esta etapa for ignorada).

  5. Reinstalado o driver: sudo ./NVIDIA-Linux-x86_64-367.44.runfui notificado de que o script gerado automaticamente não foi concluído e tive a opção de continuar a instalação que aceitei. Também escolhi instalar o driver como um módulo do kernel e fazer com que o programa gere um novo xorg.confarquivo (com backup feito antes). No final do processo, ele se queixou de um link ausente para uma lib, mas deu instruções sobre como vincular a ela. Adiei de lidar com isso para mais tarde.

  6. Reiniciou e conseguiu efetuar login através da GUI.


1

Eu estava usando o xfce e verifiquei manualmente cada pasta e arquivo renomeando-os. A exclusão ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xmlfuncionou para mim.

Eu também tinha drivers da nvidia, mas eles estavam funcionando bem quando eu entrei como root e como usuário de backup.


0

No meu caso, esse problema foi causado pela habilitação acidental de inicialização segura na UEFI, que afeta os drivers de terceiros inutilizáveis ​​(por exemplo, Nvidia). Isso causou erro na sessão do X. Depois de desativar o Secure Boot, tudo voltou ao normal.

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.