Ciclo di accesso dopo l'aggiornamento a 16.04


16

Ho riscontrato un ciclo di accesso dopo l'aggiornamento di xenial beta agli ultimi aggiornamenti.

Ho provato molte cose:

  • xauthorityo i /tmpprivilegi cambiano

  • Reinstallazione dei driver nvidia, rimuoverli.

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

  • ripristino compize unityimpostazioni. (Ottengo dbuserrori di avvio:

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • usando kernel più vecchi e fail-safe (rapporto fail-safe nessuna schermata trovata)

  • provato a lanciare altri DE (immagine grande di Steam)

Ecco il registro degli errori di 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

Nel registro Unity (compiz) ci sono molti errori sul plugin opengl

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

E molti plugin scaricati a causa dell'opengl.

Lightdm ha un segnale SIGTERM improvviso senza errori precedenti nel registro.

xserver ha 2 errori:

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

Ma continua attraverso le operazioni di input fino a quando non viene improvvisamente interrotto.

Risposte:


18

Nel mio caso i driver nvidia originali sono stati la causa e il ritorno al nouveau open source ha aiutato. Innanzitutto, ho rimosso tutte le cose 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: come posso disinstallare completamente un driver nvidia? )

Dopodiché ho potuto effettuare il login, ma l'unità non si è caricata, non è stato avviato alcun programma di avvio, ecc. Ho dovuto riabilitare il plug-in Unity:

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

(fonte: Unity non si carica, nessun Launcher, nessun Dash appare )


La rimozione di è nvidia-*stata la soluzione principale per me. In ~/.xsession.errorsHo avuto un messaggio cannot connect to brltty at 0che è legato a NVIDIA.
Jon,

1
Ho seguito questi esatti passaggi ma non ha funzionato per me
Hakaishin,

Inoltre, se avessi bisogno di usare i driver Nvidia, questo non funziona.
Hakaishin,

@Hakaishinrare sei in grado di risolverlo?
Sagarr

3

Il problema è che, quando si aggiorna Ubuntu (e anche quando si installano determinati programmi che chiamano /sbin/ldconfig), vengono apportate modifiche a /etc/ls.so.cache.

Provalo e vedrai che il ld.so.cachefile dopo tale installazione / aggiornamento avrà dimensioni diverse rispetto a prima dell'operazione.

Questo, in Ubuntu 16.04, si traduce in un loop di login quando si accede da lightDM. Pertanto, è necessario conservare una copia dell'originale ld.so.cachepoiché, con la nuova versione generata dopo l'installazione / l'aggiornamento, lightDM non eseguirà più l'autenticazione.

Ho avuto questo problema molte volte e ho dovuto fare molta attenzione. Conservo sempre una copia del file originale ( /etc/ld.so.cache.orig) che mi consente di accedere senza il ciclo di accesso e lo uso per accedere. Quindi, una volta effettuato l'accesso, copio il nuovo ( /etc/ld.so.cache.new). Per fare ciò, ho modificato il mio ~/.bash_profilefile e ho aggiunto questa riga:

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

Quindi, per copiare nuovamente il file originale quando si esce dalla sessione in modo che sarò ab; e per accedere un guadagno la prossima volta, ho aggiunto questa riga a /etc/gdm/PostSession/Default:

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

Perché funzioni, ho modificato /etc/sudoers(eseguendo sudo vosudo) per consentire agli utenti non privilegiati di eseguire il comando copia:

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

Potrebbe sembrare un brutto hack, ma aggira questo problema del ciclo di accesso e, inoltre, mantiene il nuovo /etc/ld.so.cachefile.


1
Lo siento, pero el Chiedi a Ubuntu una pagina da solo in inglese. Grazie per la respuesta pero como a Castellano, la tube que borrar. No, no, no, no, no, no, no, no, usar herramientas como el Google Translate for traducir tus contribuciones.
terdon,

In ogni caso, la traduzione è quella che ti serve per risolvere un sollievo. Pero en el futuro, per favore su Google Translate.
terdon,

3

Ho avuto lo stesso errore anche sul 16.04. Nel mio caso è stato anche un problema con il driver NVidia. Ho 8 monitor e mi piace come si comporta il sub NVidia con loro. Quindi per farlo funzionare, io:

  1. Premuto CTRL+ ALT+ F1al prompt di accesso ed effettuato l'accesso tramite il terminale.

  2. È stato eseguito il backup di un vecchio /etc/X11/xorg.conffile, poiché configurare 8 monitor non è stato semplice.

  3. Scaricato il file del driver da NVidia: NVIDIA-Linux-x86_64-367.44.run

  4. È stato eseguito il comando seguente: sudo service lightdm stop(l'installazione del driver fallirà se questo passaggio viene ignorato).

  5. Reinstallato il driver: sudo ./NVIDIA-Linux-x86_64-367.44.runmi è stato comunicato che lo script generato automaticamente non è stato completato e ho avuto la scelta di continuare l'installazione che ho accettato. Ho anche scelto di installare il driver come modulo del kernel e di far sì che il programma generi un nuovo xorg.conffile (di cui è stato eseguito il backup in precedenza). Alla fine del processo si è lamentato di un collegamento mancante a una lib, ma ha dato istruzioni sul collegamento ad esso. Ho rimandato a occuparmene per dopo.

  6. Riavviato ed è stato in grado di accedere tramite la GUI.


1

Stavo usando xfce e ho controllato manualmente ogni cartella e file rinominandoli. L'eliminazione ha ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xmlfunzionato per me.

Avevo anche i driver nvidia, ma funzionavano bene quando ho effettuato l'accesso come root e come utente di backup.


0

Nel mio caso questo problema è stato causato dall'abilitazione accidentale di Secure Boot in UEFI, che risulta inutilizzabile nei driver di terze parti (ad esempio Nvidia). Ciò ha causato un errore di sessione X. Dopo aver disabilitato Secure Boot, tutto è tornato alla normalità.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.