Logo KDE

X11, SDDM, Kwin et Plasma desktop

Publié dans Geekeries | Marqué avec , ,
Share

Cinq mois après mes mésaventures suites à une mise à jour Debian/KDE testing, rebelote, j’ai à nouveau un problème suite à une mise à jour classique. Ce qui n’est pas si étonnant quand on utilise testing, surtout que testing a switché assez récemment sur bookworm.

Les symptômes très classiques : la page de login s’affiche, je m’authentifie, la page de chargement de Plasma KDE s’affiche, le loader tourne puis s’arrête au bout de quelques secondes et… voilà ! J’ai la souris, mais pour le reste c’est figé sur l’écran de chargement.

J’ai fini par trouver quel était le problème (incompatibilité temporaire entre kwin et kdecorator), mais voici les étapes par lesquels j’ai dû passer, pour finalement trouver la réponse sur un rapport de bug dans une mailing list Debian. J’en sais désormais d’avantage sur SDDM, X11, Kwin et le montage du bureau.

Au delà de l’analyse de sa machine, le bon réflexe à avoir c’est de regarder la liste des bugs en cours sur Debian : le portail des bugs et son moteur de recherche.

SDDM

Sur la plupart des distributions récentes, tout démarre avec SDDM (Simple Destkop Display Manager).

SDDM permet d’afficher le formulaire de login. J’ai l’impression que SDDM démarre son propre petit serveur X11pour cela (Xsetup ?). Ensuite SDDM effectue l’authentification avec PAM puis lance le desktop sélectionné, dans mon cas Plasma avec /usr/bin/startplasma-x11. Tout cela est confiruable dans le fichier /etc/sddm.conf. Moi je chiffre aussi mon dossier user avec encryptfs et je vois que ce dernier récupère mon mot de passe utilisateur à ce moment là pour pouvoir déchiffrer mon dossier dès le démarrage de … Kwin? Plasma? … bref, dès le démarrage.

Quelques erreurs possibles à ce niveau :

  • La doc de SDDM explique : « En cas de blocage après la connexion, supprimer ~/.Xauthory et redémarrer ». Pas mieux chez moi.
  • Si le disque est plein, on est aussi souvent bloqué à cette étape du login. Il suffit d’aller en console avec Ctrl+Alt+F2 (par ex) et de supprimer 2-3 babioles.
  • J’ai un collègue qui avait une partition /root trop petite. A chaque mise à jour du noyau, il avait une mise à jour qui échouait et se retrouver avec un Linux en vrac. Par exemple son SDDM ne parvenait plus à détecter aucun bureau. Il a fallu réinstaller task-kde-deskto avec sudo apt install task-kde-desktop.

Kwin et Plasma

Grosso modo, la procédure que j’ai détaillé dans cet article de Mai explique bien les problèmes de config pouvant arriver suite à une mauvaise configuration du bureau (ou un bug lors d’une mise à jour) et comment les corriger.

Si cela ne suffit pas, on peut être plus bourrin, et faire la manip suivante (après avoir fait des backup) :

  • Supprimer .config/kwinrc, .config/plasmarc, .config/plasmashellrc et .config/plasma-org.kde.plasma.desktop-appletsrc
  • Supprimer les paquets kwin-x11 et plasma-desktop avec apt purge kwin-x11 plasma-desktop
  • Réinstaller ces paquets avec apt install kwin-x11 plasma-desktop

Chez moi, cela ne pas suffit. L’erreur ne viendrait donc pas de la configuration de Kwin ou de Plasma. Je soupçonne une erreur quelque part entre kwin et Plasma, car le fichier kwinrc est bien recréé mais pas le fichier plasmarc.

Alors il faut regarder l’état de ces paquets dans les repository Debian :

  • Côté kwin, il y a eu une erreur corrigée à partir de la version 5.19. Mais je suis à la version 5.21.5-2.
  • Ah et côté kwin toujours, quand on est sûr Debian/KDE testing (i.e. bookworm)(so 2021 :D) et qu’on a fait une mise à jour autour de 17 octobre (je l’ai faites hier le 20), il y a une incompatibilité entre kwin et kdecoration ! C’est en regarde le fichier de log ~/.xsessions-errors que j’aurai pu voir tout seul ce problème. En attendant que kwin soit corrigé, on peut temporairement downgrade kdecoration en le téléchargeant ici et en faisant : dpkg -i libkdecorations2-5v5_5.21.5-2_amd64.deb. Debian nous indiquera sans cesse des mises à jour, mais il vaut mieux attendre que le fix soit disponible. apt nous indiquera de faire un apt install --fix-broken pour supprimer le downgrade et revienne sur la version de la distribution.

Logs d’erreur

D’abord il faut commencer par regarder la commande dmesg (plutôt pour des problèmes lors du boot) et les syslogs avec less /var/log/syslog (pour des problèmes system). Si on soupçonne quelque chose autour de X11 ou Kwin, alors ~/.xsessions-errors semble être le bon point d’entrée.

On peut aussi afficher toutes les erreurs des services systemd qui tournent avec journalctl -r -p err. Bien pratique.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *