Login-Schleife nach dem Upgrade auf 16.04

16

Ich bin auf eine Login-Schleife gestoßen, nachdem ich xenial beta auf die neuesten Updates aktualisiert habe.

Ich habe viele Dinge ausprobiert:

  • xauthorityoder /tmpPrivilegien ändern sich

  • Neuinstallation von nvidia-Treibern und Entfernen dieser Treiber.

  • Neuinstallation unity, unity-greeter, ubuntu-desktop, upstart, lightdmund compiz.

  • Zurücksetzen compizund unityEinstellungen. (Ich erhalte dbusStartfehler:

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • mit älterem Kernel und Failsafe (Failsafe-Bericht nicht gefunden)

  • versuchte, andere DE zu starten (Steam Big Picture)

Hier ist das xsession-Fehlerprotokoll:

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

Im Unity (compiz) -Protokoll gibt es viele Fehler bezüglich des opengl-Plugins

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

Und viele Plugins wegen opengl entladen.

Lightdm hat ein plötzliches SIGTERM-Signal ohne vorherige Fehler im Protokoll.

xserver hat 2 Fehler:

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

Es wird jedoch so lange mit Eingabeoperationen fortgefahren, bis es plötzlich beendet wird.

Khalid Abu Shawarib
quelle

Antworten:

18

In meinem Fall waren die ursprünglichen nvidia-Treiber die Ursache, und der Wechsel zurück zu Open Source Nouveau half. Zuerst habe ich alles aus nvidia entfernt:

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

(Quelle: Wie kann ich einen nvidia-Treiber vollständig deinstallieren? )

Danach konnte ich mich einloggen, aber Unity wurde nicht geladen, es gab keinen Launcher usw. Es stellte sich heraus, dass ich das Unity-Plugin wieder aktivieren musste:

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

(Quelle: Unity wird nicht geladen, kein Launcher, kein Dash erscheint )

Oskar Strączkowski
quelle
Das Entfernen von nvidia-*war das Hauptproblem für mich. In hatte ~/.xsession.errorsich eine Nachricht, cannot connect to brltty at 0die mit NVIDIA zusammenhängt.
Jon
1
Ich habe genau diese Schritte befolgt, aber es hat bei mir nicht funktioniert
Hakaishin
Und wenn ich die Nvidia-Treiber verwenden muss, funktioniert dies nicht.
Hakaishin
@Hakaishinrare Sie in der Lage, es zu lösen?
Sagarr
3

Das Problem ist, dass beim Aktualisieren von Ubuntu (und selbst beim Installieren bestimmter Programme, die aufgerufen werden /sbin/ldconfig) Änderungen vorgenommen werden /etc/ls.so.cache.

Probieren Sie es aus und Sie werden feststellen, dass die ld.so.cacheDatei nach einer solchen Installation / Aktualisierung eine andere Größe hat als vor dem Vorgang.

Dies führt in Ubuntu 16.04 zu einer Anmeldeschleife, wenn Sie sich von lightDM aus anmelden. Bewahren Sie daher eine Kopie des Originals auf, ld.so.cacheda lightDM mit der nach der Installation / Aktualisierung erstellten neuen Version nicht mehr authentifiziert wird.

Ich hatte dieses Problem schon oft und musste sehr vorsichtig damit umgehen. Ich behalte immer eine Kopie der Originaldatei ( /etc/ld.so.cache.orig), mit der ich mich ohne die Anmeldeschleife anmelden und diese zum Anmelden verwenden kann. Sobald ich mich erfolgreich angemeldet habe, kopiere ich die neue ( /etc/ld.so.cache.new). Dazu habe ich meine ~/.bash_profileDatei geändert und diese Zeile hinzugefügt:

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

Um die ursprüngliche Datei beim Beenden der Sitzung wieder zu kopieren, damit ich mich beim nächsten Mal wieder anmelden kann, habe ich folgende Zeile hinzugefügt /etc/gdm/PostSession/Default:

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

Damit dies funktioniert, habe ich /etc/sudoers(durch Ausführen sudo vosudo) geändert , um nicht privilegierten Benutzern das Ausführen des Kopierbefehls zu ermöglichen:

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

Dies mag wie ein hässlicher Hack aussehen, aber es umgeht dieses Problem mit der Anmeldeschleife und auch, die neue /etc/ld.so.cacheDatei beizubehalten.

Juanjo
quelle
1
Lo siento, pero el Fragen Sie Ubuntu und schreiben Sie es in Englisch. Gracias por la respuesta pero como es en Castellano, la tube que borrar. Si no hables, o no hables bien, el Ingles, puedes usar herramientas como el Google Translate para traducir tus contribuciones.
Terdon
De hecho, la traduje yo ya que tiene pinta de ser una solución buena. Pero en el futuro, por favor pásala por Google Translate.
Terdon
3

Ich hatte den gleichen Fehler auch am 16.04. In meinem Fall handelte es sich auch um ein NVidia-Treiberproblem. Ich habe 8 Monitore und mir gefällt, wie der NVidia-Taucher mit ihnen umgeht. Um es zum Laufen zu bringen, habe ich:

  1. An der Anmeldeaufforderung CTRL+ ALT+ F1gedrückt und über das Terminal angemeldet.

  2. Gesicherte /etc/X11/xorg.confDatei kann alt sein , da es mühsam war, 8 Monitore zu konfigurieren.

  3. Die Treiberdatei von NVidia heruntergeladen: NVIDIA-Linux-x86_64-367.44.run

  4. Führen Sie den folgenden Befehl aus: sudo service lightdm stop(Die Treiberinstallation schlägt fehl, wenn dieser Schritt übersprungen wird.)

  5. Neuinstallation des Treibers: sudo ./NVIDIA-Linux-x86_64-367.44.runIch wurde benachrichtigt, dass das automatisch generierte Skript nicht abgeschlossen wurde, und hatte die Wahl, die von mir akzeptierte Installation fortzusetzen. Ich habe mich auch dafür entschieden, den Treiber als Kernelmodul zu installieren und das Programm eine neue xorg.confDatei generieren zu lassen (meine zuvor gesichert). Am Ende des Prozesses beschwerte es sich über einen fehlenden Link zu einer Bibliothek, gab aber Anweisungen zum Verlinken. Ich habe es aufgeschoben, mich später damit zu befassen.

  6. Neustart und konnte sich über die GUI anmelden.

Paul W
quelle
1

Ich habe xfce verwendet und jeden Ordner und jede Datei manuell überprüft, indem ich sie umbenannt habe. Das Löschen ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xmlhat bei mir funktioniert.

Ich hatte auch NVIDIA-Treiber, aber sie funktionierten einwandfrei, als ich mich als root und Backup-Benutzer anmeldete.

Vibhav B
quelle
0

In meinem Fall wurde dieses Problem durch versehentliches Aktivieren von Secure Boot in UEFI verursacht, was dazu führt, dass Treiber von Drittanbietern unbrauchbar werden (z. B. Nvidia). Dies verursachte einen X-Sitzungsfehler. Nach dem Deaktivieren von Secure Boot war alles wieder normal.

Wladek Surala
quelle