Bucle de inicio de sesión después de la actualización a 16.04

16

Encontré un bucle de inicio de sesión después de actualizar xenial beta a las últimas actualizaciones.

Intenté muchas cosas:

  • xauthorityo /tmpcambio de privilegios

  • Reinstalar controladores nvidia, eliminarlos.

  • reinstalación unity, unity-greeter, ubuntu-desktop, upstart, lightdmy compiz.

  • restablecimiento compizy unityconfiguración. (Recibo dbuserrores de inicio:

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • utilizando kernel anterior y a prueba de fallos (informe a prueba de fallos no se encontró pantalla)

  • trató de lanzar otro DE (panorama general de steam)

Aquí está el registro de errores de 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

En el registro de Unity (compiz) hay muchos errores sobre el complemento opengl

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

Y muchos complementos descargados debido a opengl.

Lightdm tiene una señal SIGTERM repentina sin errores previos en el registro.

xserver tiene 2 errores:

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

Pero continúa a través de operaciones de entrada hasta que de repente termina.

Khalid Abu Shawarib
fuente

Respuestas:

18

En mi caso, los controladores originales de nvidia fueron la causa y el cambio a código abierto nouveau ayudó. Primero, eliminé todas las cosas de 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

(fuente: ¿Cómo puedo desinstalar un controlador nvidia por completo? )

Después de eso pude iniciar sesión, pero la unidad no se cargó, no hubo un iniciador, etc. Resultó que tuve que volver a habilitar el complemento Unity:

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

(fuente: Unity no se carga, no se inicia ni aparece Dash )

Oskar Strączkowski
fuente
La eliminación de nvidia-*fue la solución principal para mí. En ~/.xsession.errorsTenía mensaje cannot connect to brltty at 0que está relacionado con NVIDIA.
Jon
1
Seguí estos pasos exactos pero no funcionó para mí
Hakaishin
Además, si necesito usar los controladores de Nvidia, entonces esto no funciona.
Hakaishin
@Hakaishinra ¿Eres capaz de resolverlo?
sagarr
3

El problema es que, cuando actualiza Ubuntu (e incluso cuando instala ciertos programas que llaman /sbin/ldconfig), se realizan cambios en /etc/ls.so.cache.

Pruébelo y verá que el ld.so.cachearchivo después de dicha instalación / actualización tendrá un tamaño diferente que antes de la operación.

Esto, en Ubuntu 16.04, resulta en un ciclo de inicio de sesión al iniciar sesión desde lightDM. Por lo tanto, debe conservar una copia del original ld.so.cacheya que, con la nueva versión generada después de la instalación / actualización, lightDM ya no se autenticará.

He tenido este problema muchas veces y he tenido que tener mucho cuidado con esto. Siempre guardo una copia del archivo original ( /etc/ld.so.cache.orig) que me permite iniciar sesión sin el bucle de inicio de sesión y usarlo para iniciar sesión. Luego, una vez que he iniciado sesión con éxito, copio el nuevo ( /etc/ld.so.cache.new). Para hacerlo, modifiqué mi ~/.bash_profilearchivo y agregué esta línea:

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

Luego, para volver a copiar el archivo original al salir de la sesión, de modo que pueda iniciar sesión la próxima vez, agregué esta línea a /etc/gdm/PostSession/Default:

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

Para que eso funcione, he modificado /etc/sudoers(ejecutando sudo vosudo) para permitir que los usuarios sin privilegios ejecuten el comando copiar:

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

Esto puede parecer un truco feo, pero evita este problema de inicio de sesión y, también, para mantener el nuevo /etc/ld.so.cachearchivo.

Juanjo
fuente
1
Lo siento, pero el Ask Ubuntu es una página donde solo se escribe en inglés. Gracias por la respuesta pero como es en castellano, la tube que borrar. Si no hables, o no hables bien, el Inglés, puedes usar herramientas como el Traductor de Google para traducir tus contribuciones.
terdon
De hecho, la traducción yo ya que tiene pinta de ser una solución buena. Pero en el futuro, por favor pásala por Google Translate.
terdon
3

Tuve el mismo error en 16.04 también. En mi caso, también fue un problema con el controlador NVidia. Tengo 8 monitores y me gusta cómo se desempeña el buzo NVidia con ellos. Entonces, para que funcione, yo:

  1. Presionó CTRL+ ALT+ F1en el indicador de inicio de sesión e inició sesión a través del terminal.

  2. Se realizó una copia de seguridad de un /etc/X11/xorg.confarchivo antiguo , ya que fue difícil configurar 8 monitores.

  3. Descargado el archivo del controlador de NVidia: NVIDIA-Linux-x86_64-367.44.run

  4. Ejecutó el siguiente comando: sudo service lightdm stop(la instalación del controlador fallará si se omite este paso).

  5. Reinstalé el controlador: se sudo ./NVIDIA-Linux-x86_64-367.44.runme notificó que el script generado automáticamente no se completó y se me dio la opción de continuar con la instalación que acepté. También elegí instalar el controlador como un módulo del núcleo y hacer que el programa generara un nuevo xorg.confarchivo (copia de seguridad de la mía antes). Al final del proceso, se quejó de que faltaba un enlace a una biblioteca, pero dio instrucciones sobre cómo vincularlo. Dejé de lidiar con eso para más tarde.

  6. Se reinició y pude iniciar sesión a través de la GUI.

Paul W
fuente
1

Estaba usando xfce y revisé manualmente cada carpeta y archivo al cambiarles el nombre. Eliminar ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xmlfuncionó para mí.

También tenía controladores nvidia, pero funcionaban bien cuando inicié sesión como usuario root y de respaldo.

Vibhav B
fuente
0

En mi caso, este problema se debió a la activación accidental de Secure Boot en UEFI, lo que afecta a los controladores de terceros inutilizables (por ejemplo, Nvidia). Eso causó un error de sesión X. Después de deshabilitar el Arranque seguro, todo volvió a la normalidad.

Wladek Surala
fuente