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

15

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

Eu tentei muitas coisas:

  • xauthority ou /tmp privilégios mudam

  • Reinstalando os drivers nvidia, removendo-os.

  • reinstalar unity , unity-greeter , ubuntu-desktop , upstart , lightdm e compiz .

  • redefinindo as configurações compiz e unity . (recebo dbus erros de inicialização:

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

  • tentou lançar outro DE (imagem grande a vapor)

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 Unity (compiz), há muitos erros sobre o plug-in opengl

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

E muitos plugins são descarregados por causa do opengl.

Lightdm tem sinal SIGTERM repentino sem erros anteriores no log.

xserver tem 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 continua por meio de operações de entrada até que seja terminado de repente.

    
por Khalid Abu Shawarib 22.04.2016 / 13:49

4 respostas

16

No meu caso, os drivers nvidia originais foram a causa e a mudança para o open source nouveau ajudou. Primeiro, eu 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 um driver nvidia completamente? )

Depois disso, consegui fazer o login, mas a unidade não foi carregada, não havia lançador etc. Acontece que 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, não inicia, não Dash aparece )

    
por Oskar Strączkowski 24.04.2016 / 03:56
3

O problema é que, quando você atualiza o Ubuntu (e até mesmo quando instala certos programas que chamam /sbin/ldconfig ), há alterações feitas em /etc/ls.so.cache .

Experimente e você verá que o arquivo ld.so.cache após tal 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 a partir do 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 ser muito cuidadoso com isso. Eu sempre mantenho uma cópia do arquivo original ( /etc/ld.so.cache.orig ) que me permite logar sem o loop de login e usar isso para logar. Então, uma vez que eu tenha logado com sucesso, eu copio o novo ( /etc/ld.so.cache.new ) . Para fazer isso, modifiquei meu arquivo ~/.bash_profile e adicionei esta linha:

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

Em seguida, para copiar o arquivo original de volta ao sair da sessão, para que eu possa logar em um ganho da próxima vez, adicionei essa linha a /etc/gdm/PostSession/Default :

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

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

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

Isso pode parecer um hack feio, mas resolve esse problema de loop de login e, também, manter o novo arquivo /etc/ld.so.cache .

    
por Juanjo 08.09.2016 / 23:22
3

Eu também tive o mesmo erro em 16.04. No meu caso, também foi um problema de driver NVidia. Eu tenho 8 monitores e gosto de como o NVidia mergulha com eles. Então, para que funcione, eu:

  1. Pressionado CTRL + ALT + F1 no prompt de login e logado no terminal.

  2. O backup pode ser feito pelo antigo arquivo /etc/X11/xorg.conf , já que foi difícil configurar 8 monitores.

  3. Baixou o 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 essa etapa for ignorada).

  5. Reinstalado o driver: sudo ./NVIDIA-Linux-x86_64-367.44.run Fui notificado de que o script gerado automaticamente não foi concluído e tive a opção de continuar a instalação que aceitei. Eu também escolhi ter o driver instalado como um módulo do kernel e fazer com que o programa gerasse um novo arquivo xorg.conf (backup do meu antes). No final do processo, ele se queixou de um link que faltava para uma biblioteca, mas deu instruções sobre a vinculação a ele. Eu adiei lidar com isso para mais tarde.

  6. Reiniciou e conseguiu fazer login na GUI.

por Paul W 07.09.2016 / 07:46
1

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

Eu também tinha drivers nvidia, mas eles funcionavam bem quando eu fazia login como root e um usuário de backup.

    
por Vibhav B 29.08.2016 / 04:49