web-dev-qa-db-fra.com

Impossible de démarrer kde

Redémarrage de mon ordinateur portable après quelques jours de disponibilité (donc, je ne sais pas ce qui pourrait avoir déclenché le problème). J'ai constaté que je ne pouvais pas me connecter à lightdm. Mon mot de passe est accepté et les champs disparaissent mais je suis coincé avec le papier peint lightdm et mon curseur (déplaçable). Je peux cependant

  • se connecter en tant qu'invité
  • startx d'un tty

Si j'essaie de kdm, la même chose se produit.

Si j'essaie de lancer project-neon, la barre de progression du bureau apparaît, mais je suis renvoyé au fond d'écran lightdm à la fin du chargement. Un message demandant un mot de passe pour le trousseau est également apparu.

.xsession indique que le processus de pré-démarrage de dbus s'est terminé avec le statut 2. Je ne sais pas s'il est pertinent.

Edit: Je suis capable de lancer LXDE sans problèmes. J'ai essayé le plasma actif, j'ai les mêmes symptômes qu'avec Project-Neon, donc c'est clairement un problème de kde/plasma. Mais depuis le début de startx, le problème semble résider dans les interactions lightdm/kdm-kde. Existe-t-il un moyen de savoir comment lightdm démarre kde (kwin, plasma)?

De plus, le problème ne vient pas de la connexion, la session graphique apparaît dans who et dm-tool list-seats affiche un Session0 avec mon nom d'utilisateur.

Edit: J'ai essayé quelques autres choses. J'ai mentionné un mot de passe Prompt dans project-neon. Si je le laisse reposer un instant, le bureau apparaît et fonctionne.

J'ai également essayé d'ajouter des sorties de débogage à startkde et startactive. Ceux de startactive fonctionnent mais pas ceux de startkde (lorsque vous démarrez lightdm ou kdm, mais cela fonctionne à partir de xinit /usr/bin/startkde). Il est donc possible que lightdm ne démarre même pas startkde , bien que cela soit conforme à lightdm.log.

3
Evpok

TL; DR il y avait un problème de permission avec ~/.cache/upstart/dbus-session, rm -rf .cache/upstart et un redémarrage l'a résolu.

Newbie débogage des informations pour les futurs lecteurs (qui peut bien m'inclure).

Le message ~/.xsession mentionné dans la question, dans le sens de

init: dbus pre-start process (PID XXXX) terminated with status 2

était en fait très important. J'ai appris ce que cela voulait dire en enquêtant, je l'ai trouvé ainsi

  • Tout d'abord, je pensais que le problème était avec kde, alors j'ai essayé de trouver comment lightdm avait commencé kde
  • J'ai essayé de regarder dans /etc/lightdm/ (comme suggéré par man lightdm) mais les fichiers de configuration lightdm n'étaient pas là, mais (je l'ai trouvé en cherchant dans /var/log/lightdm.log) dans /usr/share/lightdm/lightdm.conf.d où j'ai trouvé le fichier correspondant /usr/share/lightdm/lightdm.conf.d/40-kde-plasma.conf
  • Selon elle, ce que lightdm a commencé pour kde était le script /usr/bin/startkde, alors j’y ai ajouté quelques lignes de débogage echo 'startkde is at line ##' > /home/evpok/delog pour voir où il a échoué, mais aucune d’elles n’a été exécutée.
  • vérifiant à nouveau /var/log/lightdm.log j'ai vu la ligne
    Running command /usr/sbin/lightdm-session /usr/bin/startkde
    J'ai donc jeté un œil à usr/sbin/lightdm-session, auquel j'ai de nouveau ajouté le débogage echo lignes
  • Après quelques tâtonnements, j'ai découvert que le problème était lié au chargement d'un script Xsession: /etc/X11/Xsession.d/99x11-common_start. Alors j'ai regardé dans celui-là. Il semblait se charger normalement et n'avait qu'une seule ligne exec $STARTUP. Ajout d’un echo pour voir ce qu’il y avait dans $STARTUP j’ai trouvé que c’était init --user. Maintenant, je ne voulais pas jouer avec init alors je me suis contenté de tracer ses sorties en commentant cette ligne et en ajoutant à la place
    exec init -v --user > /home/evpok/initlog 2> /home/evpok/initerrlog
  • En regardant dans ces journaux, j'ai vu ce message dans initerrlog

    dbus pre-start process (PID XXXX) terminated with status 2
    mais je ne savais toujours pas quoi en faire, alors j’ai examiné initlog et j’ai vu
    Loading configuration from /usr/share/upstart/sessions

  • J'ai regardé dans cette direction, où j'ai vu un startkde.conf. Après quelques recherches dans la documentation relative aux configuer des travaux récents, j’ai constaté qu’il
    start on started dbus and xsession SESSION=kde-plasma
    évidemment, c’est pour cette raison que startkde n’a pas commencé. Il avait besoin de dbus, qui avait une erreur, alors j’ai cherché dans dbus.conf
  • Là, il y avait une strophe pre-start script, hé! C'est ce qui est dans le journal des erreurs de init et dans .xsession-errors. Donc, j’ai ajouté quelques échos, pour constater que le problème était à la ligne
    echo "DBUS_SESSION_BUS_ADDRESS=${DBUS_SESSION_BUS_ADDRESS}" >$HOME/.cache/upstart/dbus-session (pas un de mes échos de débogage)
  • Après quelques tâtonnements, j'ai découvert que je ne pouvais pas toucher le fichier inexistant ~/.cache/upstart/debus-session en raison d'un problème d'autorisation. J'ai essayé de le créer sous Sudo et je l'ai chown avec les autorisations appropriées, mais cela n'a pas fonctionné. Donc je viens de rm -rf 'ed .cache/upstart.
  • Après un redémarrage, tout a fonctionné comme prévu.

Après tout, je devais juste arrêter de craindre les internes et de me salir les mains.

3
Evpok

J'ai eu le même problème après la mise à niveau d'Ubuntu 13.10 à Ubuntu 14.04. J'avais aussi dans le fichier .xsession-errors la dernière ligne:

init: dbus pre-start process (PID XXXX) terminated with status 2

Le problème se trouvait également dans le répertoire .cache/upstart. Il avait des permissions drw------- - donc je n'ai même pas pu y accéder. Je viens d’ajouter un bit d’exécution, de redémarrer X et cela fonctionne maintenant.

1
user3497625