web-dev-qa-db-fra.com

Boucle de connexion après la mise à niveau vers 16.04

J'ai rencontré une boucle de connexion après la mise à jour de la version bêta de xenial avec les dernières mises à jour.

J'ai essayé beaucoup de choses:

  • __ privilèges xauthority ou /tmp modifiés

  • Réinstallation des pilotes nvidia, suppression de ceux-ci.

  • réinstaller unityname__, unity-greeter, ubuntu-desktop, upstartname__, lightdmet compizname__.

  • réinitialiser les paramètres compizet unity(je reçois des erreurs de lancement dbusname__:

    Failed to commit changes to dconf: error spawning command line 'dbus-launch -auto launch=..................)
    
  • utilisation de noyau plus ancien et de sécurité (rapport de sécurité aucun écran trouvé)

  • essayé de lancer d'autres DE (grande image de Steam)

Voici le journal des erreurs 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

Dans le journal Unity (compiz), il y a beaucoup d'erreurs à propos du plugin opengl

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

Et beaucoup de plugins déchargés à cause de opengl.

Lightdm a un signal SIGTERM soudain sans erreur préalable dans le journal.

xserver a 2 erreurs:

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

Mais il continue à travers les opérations d'entrée jusqu'à ce qu'il soit soudainement terminé.

16

Dans mon cas, les pilotes d'origine nvidia en étaient la cause et le retour à l'open source a aidé. Tout d’abord, j’ai supprimé tout ce qui se trouvait sur 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

(source: comment désinstaller complètement un pilote nvidia? )

Après cela, je pouvais me connecter, mais l'unité ne s'est pas chargée, il n'y avait pas de lanceur, etc.

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

(source: l'unité ne se charge pas, pas de lanceur, aucun tiret apparaît )

17

Le problème est que, lorsque vous mettez à jour Ubuntu (et même lorsque vous installez certains programmes qui appellent /sbin/ldconfig), des modifications ont été apportées à /etc/ls.so.cache.

Essayez-le et vous verrez que le fichier ld.so.cache après une telle installation/mise à jour aura une taille différente de celle utilisée avant l'opération.

Ceci, dans Ubuntu 16.04, entraîne une boucle de connexion lors de la connexion à lightDM. Par conséquent, vous devez conserver une copie du ld.so.cache d'origine car, avec la nouvelle version générée après l'installation/la mise à jour, lightDM ne s'authentifiera plus.

J'ai eu ce problème à plusieurs reprises et j'ai dû faire très attention à cela. Je garde toujours une copie du fichier d'origine (/etc/ld.so.cache.orig) qui me permet de me connecter sans la boucle de connexion et de l'utiliser pour me connecter. Ensuite, une fois que je me suis connecté avec succès, je copie le nouveau (/etc/ld.so.cache.new). Pour ce faire, j'ai modifié mon fichier ~/.bash_profile et ajouté cette ligne:

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

Ensuite, afin de copier le fichier d'origine lors de la sortie de session afin que je puisse me connecter pour gagner un gain la prochaine fois, j'ai ajouté cette ligne à /etc/gdm/PostSession/Default:

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

Pour que cela fonctionne, j'ai modifié /etc/sudoers (en exécutant Sudo vosudo) afin de permettre aux utilisateurs non privilégiés d'exécuter la commande de copie:

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

Cela peut ressembler à un vilain bidouillage, mais cela résout ce problème de boucle de connexion et, également, de conserver le nouveau fichier /etc/ld.so.cache.

3
Juanjo

J'ai eu la même erreur sur 16.04 aussi. Dans mon cas, il s'agissait également d'un problème de pilote NVidia. J'ai 8 moniteurs et j'aime la performance du plongeur NVidia avec eux. Donc, pour que cela fonctionne, je:

  1. Pressé CTRL + ALT + F1 à l'invite de connexion et connecté via le terminal.

  2. L’ancien fichier /etc/X11/xorg.conf peut être sauvegardé car il était très difficile de configurer 8 moniteurs.

  3. Téléchargé le fichier de pilote depuis NVidia: NVIDIA-Linux-x86_64-367.44.run

  4. A exécuté la commande suivante: Sudo service lightdm stop (l'installation du pilote échouera si cette étape est ignorée).

  5. Le pilote a été réinstallé: Sudo ./NVIDIA-Linux-x86_64-367.44.run J'ai été informé que le script généré automatiquement ne se terminait pas et on m'a donné le choix de poursuivre l'installation, ce que j'ai accepté. J'ai également choisi d'installer le pilote en tant que module du noyau et de générer un nouveau fichier xorg.conf (le mien sauvegardé auparavant). À la fin du processus, il se plaignait d'un lien manquant vers une bibliothèque, mais donnait des instructions pour y accéder. Je remets cela à plus tard.

  6. Redémarré et a pu se connecter via l'interface graphique.

3
Paul W

J'utilisais xfce et j'ai vérifié manuellement chaque dossier et fichier en les renommant. La suppression de ~/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml a fonctionné pour moi.

J'avais aussi des pilotes nvidia, mais ils fonctionnaient bien lorsque je me suis connecté en tant que root et utilisateur de sauvegarde.

1
Vibhav B

Dans mon cas, ce problème était dû à l'activation accidentelle de Secure Boot dans UEFI, qui rend inutilisables les pilotes tiers (par exemple, Nvidia). Cela a causé une erreur de session X. Après avoir désactivé Secure Boot, tout est revenu à la normale.

0
Wladek Surala