KDE, la migration plasma 5

Quelques notes non publiées avant la migration.

Gwenview, à l’ouverture d’une photo, il met 3h pour charger la photo suivante car il doit (surement) lire toutes les autres photos du dossier, en effet, c’est instantanée dans un dossier avec peu d’images, très long dans un dossier avec beaucoup d’images.

Gwenview qui bug après l’affichage d’une photo « mal formée » (segmentation fault).

Dolphin, la touche F1 pour l’aide ouvre la page d’aide dans Kate car c’est un fichier d’aide en HTML… très pro… très open source.

Dolphin, qui à chaque lancement, oublie mes préférences. Bordel, je ne veux plus de confirmation pour la suppression des fichiers.

Puis il y a eu la migration. C’est la migration vers quoi exactement ? C’est suite à cette annonce, je me suis dit que cela devait être suffisamment stable pour faire le grand saut. C’est donc une migration de plasma 4 vers plasma 5.5.4 début février, puis 5.5.5 début mars. KDE Frameworks et les logiciels de la suite KDE sont eux toujours mis à jour en rolling release.

Pourquoi plasma n’est pas mis à jour en rolling release ? car c’est un composant clé de KDE, c’est l’espace de travail. Une migration peut donc être bloquante, c’est un bon point d’Arch linux de ne pas la forcer.

La migration a corrigé les deux bugs avec Dolphin. Cela n’a rien changé pour Gwenview, il bug toujours sur certaines photos (ce qui est normal, cf ci-dessus), et il met toujours autant de temps pour charger la photo suivante: 3 secondes dans un dossier de 185 fichiers, par contre en le fermant et relançant tout va plus vite (merci le cache).

La migration a heureusement ajouté de nouveaux bugs. Commençons par le plus chiant: un beau segmentation fault quand j’utilise la barre de recherche d’application du menu KDE, très gros point noir.

Ensuite, le fonctionnement du son a changé à l’insu de mon plein gré, alsa a été remplacé par pulseaudio. Je ne m’en serait pas rendu compte si je n’avais pas eu de problème. Maintenant, une seule application simultanément ne peut émettre du son. Je ne peux pas avoir une vidéo dans mon navigateur et une vidéo dans mon player multimedia. La seconde vidéo lancée sera bloquée par la première, et, à la fermeture de la première, la seconde est immédiatement débloquée. COOL.

J’ai trouvé une solution, mais putain de bordel de merde, quitte à faire migrer sur pulseaudio, ils auraient pu mettre les bons réglages !

Puis à nouveau un bug très chiant:

# xlsclients -la
Maximum number of clients reachedxlsclients: unable to open display « :0 »

Cela me le fait avec mplayer, smplayer exactement. Impossible d’ouvrir de nouveaux fichiers. Niveau message d’erreur, aucun bien sûr, ceux-ci ne sont pas gérés, il ne faut pas rêver. Dans smplayer, il faut prendre l’initiative d’aller voir dans les « journaux », le cheminement est le meu « Options » puis « Journaux » et enfin « mplayer ». Madame michou est ravie qu’il soit nécessaire de faire tout cela pour découvrir pourquoi la vidéo ne charge pas, et surtout pourquoi en fait la vidéo actuelle continue de tourner (heureusement, elle n’utilise pas linux). En effet, si smplayer lit une vidéo, en cliquant sur une autre dans Dolphin, rien ne se passe, la vidéo continue d’être lue sans l’interrompre, ni charger la nouvelle, comme si l’ordre de chargement de la nouvelle vidéo n’était pas envoyée. D’où ma critique sur l’absence de message d’erreur, c’est un peu se foutre du monde de ne pas être capable d’indiquer qu’une vidéo n’a pas été chargé.

Bref, ce bug se produit parce qu’il y a trop de connexion sur le serveur X. C’est con, je n’avais malheureusement presque aucune application en cours d’exécution. La magie réside dans KDE qui est de la merde. Après quelques recherches où j’ai découvert la commande xlsclients ci-dessus, censée aider dans ce genre de problème mais qui ne sert à rien en fait, j’ai trouvé des cas de bug similaire dans chromium mais le problème provient bien de KDE et de Klauncher. Ce qui est logique puisque c’est Klauncher qui doit lancer l’application quand on ouvre un fichier dans Dolphin. Du coup un kill de klauncher résout le problème… jusqu’à la prochaine saturation. Merci KDE.

Ensuite, encore un bug ultra chiant, le menu K (l’équivalent du menu démarré): quand je clique dessus, le menu s’affiche puis disparait immédiatement avec le beau fondu de fermeture. La solution, est de faire un click sur le bureau (droit ou gauche peu importe), et là ça remarche. Ca ne remarche qu’une fois, si je le ferme, le bug se produit à nouveau, je dois cliquer encore sur le bureau pour que ça remarche.

Fun fact: ce bug concerne en fait toute la barre des tâches: l’horloge avec la calendrier, l’icone du son avec kmix, etc. Ce bug est moins pire que le segmentation fault de la barre de recherche car le menu est quand même utilisable, mais il est très dérangeant.

D’autres cochonneries se sont glissées, en particulier quelqu’un a décidé qu’il ne serait plus possible de verrouiller automatiquement son écran au delà de 99 minutes. Merci de décider pour moi ce qui est bien, 99 étant une limite pas du tout arbitraire et très réfléchie. J’en tombe dans l’insulte, bande de connards.

C’est dans « Configuration du système > Comportement de l’espace de travail > Verrouillage de l’écran > Verrouiller l’écran automatiquement après », on notera le problème d’ergonomie qui affiche une zone de saisie de 3 kilomètres pour limiter la saisie à 2 caractères, bravo ahahah. Car non, ça ne fait pas plus beau en long. A cela, quand on ajoute un troisième caractère, il n’y a aucun message d’erreur, une info-bulle pour indiquer le min/max aurait été la bienvenue, car j’ai vraiment cru à un problème d’interface au début parce que jamais j’aurai pensé qu’un abruti limiterai la saisie à 99 minutes. Ou encore, pour toutes valeurs au dessus de max, alors utiliser la valeur max. Exemple, la valeur est 25, si j’ajoute un 1 pour faire 125, alors la valeur devient 99, au lieu de rester à 25 comme actuellement.

Je me souviens quand je développais sous Delphi, il existait un composant qui s’appelait TSpinEdit. J’ai testé (merci wine) avec un programme que j’avais compilé en 2006, donc il y a 10 ans de cela, en mettant une valeur supérieur à max, alors la valeur devient max, on comprend tout de suite qu’on a dépassé la limite, même chose avec la valeur minimale. Alors je me demande POURQUOI DIX ANS PLUS TARD (et je suis gentil car ça existait il y a plus de dix ans) ce comportement n’est pas un standard d’ergonomie ? Es-ce un problème de Qt ? (version 5.5.1 d’après la fenêtre A propos du logiciel) Leur composant est pourri ? Ou es-ce la faute des dev de KDE qui font de la merde ? Ca me gonfle ces petits détails ergonomiques qui montrent l’absence totale de qualité. Même Firefox, avec un input type number, affiche les bords du champ en rouge quand on dépasse pour indiquer un problème, ce qui me surprend car c’est sans CSS particulier et ce n’est pas du tout standard.

Pour revenir sur la dimension de la zone de saisie, à titre d’exemple: « Configuration du système > Réseau > Configuration > Cache > Taille du cache disque » est un champ à 2 caractères dont la taille est adaptée à 2 caractères. Quand on veut, on peut. D’ailleurs je ne comprends pas trop cette option, un cache disque limité à 99 KiB max ? C’est très peu mais comme je ne sais pas à quoi cela s’applique… Firefox ? je ne pense pas vu qu’il possède ses propres options, Chromium ? pareil j’espère. Par contre j’espère que les préférences SSL sont correctement prise en compte par Chromium, pour Firefox je sais qu’il possède ses propres options SSL cet idiot, c’est cool de configurer deux fois les choses Mozilla. Oh wait, ces options doivent être pour Konqueror… ou pas, je viens de vérifier, Konqueror possède ses propres options de cache (et de taille du cache). Exclusivité KDE: les options qui ne servent à rien.

Autre problème, à l’écran d’accueil, cela indique à présent la « langue » du clavier, mais si ce n’est pas du tout clair car c’est écrit « Configuration », mais voici pourquoi j’ai déduit que c’était la langue du clavier. Quand j’ai commencé à taper mon mot de passe, c’est passé en « fr ». Du coup je me suis dis que ça doit être la langue du clavier, car qui irait choisir la langue de la session avant de se connecter ? Quand un compte est créé sur le système, l’utilisateur choisit sa langue et c’est terminé, il ne va pas la changer à chaque connexion (au mieux on change son environnement de bureau à la connexion, comme choisir entre Gnome ou KDE/Plasma, ça c’est utile). Bref, j’ai supposé à tort que c’était la langue du clavier. Du coup quand j’ai vu « fr » je me suis dis que mon clavier a été détecté comme FR et j’écris en azerty. Donc la toute première fois après la migration, je commence à taper mon mot de passe, il me dit qu’il est invalide, j’essaie encore au cas où je me serai trompé, même problème. Je me dis « putain de merde »… puis comme j’utilise le bépo, je me suis dis que je vais tenter en bépo, et ça a marché.

Afficher la langue et la disposition du clavier ça a clairement du sens et même Windows le fait. Mais afficher la « Configuration » c’est vraiment débile, surtout quand on ne peut pas la changer: j’avais « us » initialement et quand j’ai tapé mon mot de passe c’est passé en « fr », mais pas possible de remettre « us ». CA ME SAOULE CETTE INCOHÉRENCE. Et pour couronner le tout, impossible de saisir un nom d’utilisateur, donc impossible de vérifier le layout du clavier. clap clap KDE. Je n’ai pas testé mais si il y a 30 utilisateurs sur la machine, j’espère qu’il ne faut pas scroller pour se chercher dans la liste…

Pour finir sur cet écran d’accueil, il y a un bouton « Actualiser », comme on en trouve dans les navigateurs. Je passe le curseur dessus, AUCUNE INFO-BULLE, je tente en cliquant dessus en pensant que ça va remettre à zéro l’écran de sélection d’utilisateur (et le mot de passe saisie). Pas du tout, cela fait un redémarrage sans confirmation. Merci KDE, on pensera à l’info-bulle la prochaine fois ? Ou bien ca coute trop cher en ces temps de crise ? Ce n’est pas comme si le libellé et les traductions n’existaient pas déjà vu que le même bouton est dans le menu K, mais avec une icône différente, il ne faut pas déconner (mais cela dépend du thème, je ne devrai pas leur jeter la pierre pour ça).

D’ailleurs en redémarrant avec ce bouton, j’ai eu un bug: A stop job is running for Session c2 of user xxx (duration / 1min 30s). Ce n’est pas un bug de systemd mais bien de la manière dont le reboot est lancé… avec ce bouton dans l’écran d’accueil ça fait de la merde, avec le même bouton quand on est dans une session ça marche nickel. Merci KDE.

Pour résumer, je suis énormément déçu de cette nouvelle version. A cela les bugs que j’avais avec kate/kwrite n’ont pas été corrigé (xvkbd), bref, c’est une vraie catastrophe. On parle d’un environnement de bureau, merde, pas d’une application codé par Kevin qui n’a pas travaillé les info-bulles ou qui n’a pas utilisé les bons composants pour saisir les donnés (l’input number) ou encore qui ne sait pas faire de segmentation fault… c’est un travail très brouillon, ça ressemble à Michel dans son garage qui a fait son petit environnement du bureau pour lui tout seul et ça lui convient.

Mon usage très basique qui consiste à surfer sur Internet me permet de survivre, j’abuse des raccourcis pour palier au bug du menu K qui se masque, mais je n’arrive pas à comprendre comment KDE en est arrivé à ce point, tombé tellement bas.

A vrai dire, le fait que le menu K bug me fait difficilement tenir le coup. La recherche d’une alternative est en cours, d’un OS alternatif, et comme je ne supporte pas Gnome/GTK, ça sera vers Windows que je me tournerai (je m’étonne moi-même!). Windows 10, dont je repousse au plus tard la migration car cet OS a fait beaucoup de bruit, mais je ne doute pas que je saurai le bidouiller pour limiter la casse.

Concernant GTK, ça me fait grave chier d’avoir des applications qui se comportent différemment dans un même environnement. Firefox utilise GTK, quand on clique quelque part dans la barre de scroll, ça positionne le contenu directement à la position du click, tandis qu’avec les autres applications (Chrome/Kate par exemple), cela décale la position du contenu d’un écran vers la position du click. C’est TRÈS chiant quand on utilise une application GTK et l’autre en Qt en même temps. Ah, c’est con, ça correspond à mon usage basique avec Internet: Firefox et Chrome.

J’ajouterai que j’ai dans l’ensemble des ralentissement incompréhensibles. Mais face aux autres problèmes, cela n’a pas trop eu de poids dans ma décision de quitter linux. J’aime résoudre les problèmes, j’aime bidouiller, mais l’accumulation me décourage d’une part, et me montre surtout que je perds mon temps vu la piètre qualité des logiciels.

Je doute que ces problèmes soient liés à mon matériel, et ils sont reproductibles dans une session vierge. Cette baisse constante de qualité est dommage et aura eu raison de moi. Ceci n’est finalement que la continuité des problèmes évoqués dans mes précédents billets.

Je ne peux m’empêcher de penser à une citation du forum arch linux dans un de mes précédents articles où je parlais déjà de plasma 5 et de la transition qui était en cours:

I am a litle sad to see that each time a new version of the desktop (any desktop…) is released, we have something bugy for a year or two before it become stable. As a consequence, we are left most of the time with beta software.

A year, or two… or three xD Cela fait un an déjà, dans deux ans ça sera peut-être bon, mais ça sera trop tard pour moi. Surtout que comme indiqué dans la citation, il y aura surement quelque chose de nouveau encore, et le cycle recommencera.

KDE, on continue…

Supprimer un fichier en lecture seule avec la touche « Suppr » n’affiche aucun message d’erreur dans Dolphin, ni Gwenview. Il ne se passe strictement rien, comme si c’était buggé.

Gwenview laisse d’ailleurs les options « Trash » et « Delete » visibles, mais rien ne se passe en cliquant dessus. Dolphin, pour une fois, grise correctement ces options là du menu.

C’est un peu comme les options de droits d’accès d’un fichier, il y a:

  • Can Read & Write
  • Can Read
  • Forbidden

Surement incompréhensible pour un débutant… déjà pourquoi il y a des majuscules à Read et Write. Mais surtout, pourquoi ne pas remplacer « Can Read » par « Read only » (« Lecture seule »). Et « Forbidden », qui n’a que peu de sens pour l’Owner.

Le plus drôle est quand on clique sur les droits avancés, en français, le titre des colonnes est « l », « é », « e » au lieu de « r », « w », « x ». Bien que stupide car « é » et « e » sont trop ressemblant, l’affichage des droits dans le tableau reste malheureusement en anglais avec « rwx ». Dit autrement, l’internationalisation est ratée.

Bref, gros problème d’expérience utilisateur encore.

KDE, la fin d’une époque

Voici les bugs ces derniers temps:

Dolphin: incapable de surveiller la création de fichier dans le dossier actuellement affiché. Je télécharge un fichier avec Chromium, il faut que je fasse F5 pour qu’il soit visible (même au bout de plusieurs secondes d’attente)

Dolphin: peut ouvrir un fichier compressé comme un dossier, mais ouvrir un des fichiers à l’intérieur ne fonctionne pas. Ni Gwenview, ni Kate, ni les autres applications car le fichier ouvert correspond au protocol « tar », le chemin est « tar:/path/to/file.gz/path/to/file/data.txt »…
Même problème avec le protocole MTP utilisé par les téléphones et appareils photos… malgré kio-mtp de KDE, dans Dolphin, je ne peux pas ouvrir de fichier car le chemin utilisé est « mtp:/path/to/file/… que les applications ne supportent pas… ou plutot « The process for the mtp protocol died unexpectedly ». Retour à la vieille technique de copier le fichier dans un dossier temporaire pour ensuite l’ouvrir, la lose.

Mi-2015 passé et j’ai un système d’exploitation incapable de gérer le protocol MTP correctement. A noter que l’erreur d’ouverture du fichier je l’ai obtenu grâce à Okular, car Gwenview et KolourPaint s’en branlent complétement et n’affiche aucun message d’erreur, on sent les développeurs bien branleurs à en faire le moins possible, ou ultra débutants. Ah le libre, ah oui ça sucks. Le début de la fin de KDE peut-être.

Dolphin: Pourquoi, mais pourquoi dans le menu contextuel d’un fichier HTML, pour « Ouvrir avec » j’ai 3 fois Chromium et 2 deux Kate dedans. Sérieux, je n’ai jamais touché à ce truc, comme est-ce possible… Prochainement un CCleaner version linux ?

Dolphin: pas de barre de progression à l’ouverture d’un zip… un zip de 150 Mo, je ne savais pas si cela avait planté ou si c’était en cours de chargement…

Dolphin: Le tri par « Type » dans Dophin est une blague… Pour reproduire le bug, j’ai trois types:

  • « plain text » pour les fichiers « *.txt »;
  • « backup file » pour les fichiers « *~ »;
  • « PHP script » pour les fichiers « *.php »;
  • « HTML document » pour les fichiers « *.html ».

Je voulais supprimer tous les fichiers de backup d’un dossier, je vais donc trier par Type, et je m’attends à ce que « backup file » soit en tête de liste (ou en fin de liste en fonction de l’ordre de tri). Ce n’est pas le cas à cause des majuscules (les minuscules sont après les majuscules). C’est presque un problème de « locale », mais non.

VLC: fait lagger un jeu sous wine en lisant une musique ogg

ark: ne permet toujours pas de choisir le niveau de compression (suite à la suppression de l’UI de 7z, j’ai du remettre ark), surement car c’est juste une interface pour plusieurs programmes lancés en ligne de commande, MAIS, cela ne l’empêche pas de connaitre le paramètre du niveau de compression pour chaque programme (et de proposer seulement les niveaux disponibles).

Firefox: Impossible de renommer un fichier dans la boite de dialogue Ouvrir… Firefox qui utilise une boite de dialogue Ouvrir différente de KDE (gnome surement).

Dolphin: bug critique qui m’a poussé à publier cet article: redimensionner une colonne dans le mode de vu « détail » fait planter l’application.
https://bbs.archlinux.org/viewtopic.php?id=201550

Beaucoup de Dolphin dans cette liste. Le gestionnaire de fichiers, l’élément le plus important dans un système d’exploitation, complétement à la ramasse dans KDE. La qualité de KDE s’est fortement dégradé au point que je songe à changer de desktop.

Kate, bugs forever

Kate (version 5.0.0 mai 2015, Kde framworks 5.9.0), qui comprend rien quand un fichier contient de trop longue ligne, monsieur m’ouvre le fichier qu’en lecture seule car son buffer est trop petit (4096). Il me propose débilement d’augmenter la limite temporairement, que c’est zentil. NON MAIS OÙ ÇA S’EST VU ÇA ? J’en ai utilisé des éditeurs de texte sur Windows, aucun ne m’a affiché ce genre de message, aucun, car c’est DÉBILE, bien sur que je vais l’augmenter trouduc, sur quelle planète les développeurs vivent ???

Ne parlons même pas de la LENTEUR de la frappe, un pauvre fichier json d’une seule ligne de moins de 8 Ko, la saisie de texte LAG (parce que je suis un ouf, j’édite sur la même et unique ligne de texte). CA LAG comme pas possible, je n’ai jamais vu ça sur Windows. Putain Kate sérieux, je n’ai jamais autant critiqué un logiciel de ma vie (cf tous les autres articles de mon blog, je devrais faire une catégorie Kate…). Je suis dans un fichier de 4 391 caractères composé d’une seule ligne, l’édition n’est pas fluide du tout, on sent le logiciel pensé pour fonctionner avec de courtes lignes.

Pour rappel, on parle quand même d’un bête éditeur de texte avec coloration syntaxique de base. Le genre d’application qui existe depuis la nuit des temps, qu’il en existe des tonnes en open source, et que cela nécessite pas une conception ni des algos ultra évolués. Putain de merde quand même, vivre ça en 2015, il y a que KDE pour faire ça.

KDE devrait virer tous les devs qui y ont contribuer, en voici la liste (c’est l’avantage du libre):

  • Christoph Cullmann, non de dieu, sacré mainteneur mon coquin, son rôle principal est de maintenir les bugs à jour, marque de fabrique du logiciel;
  • Anders Lund, spécialisé dans la conception de bugs complexes et innovants;
  • Joseph Wenninger, moins doué que le précédent, sa méthode consiste à glisser de simple usleep() dans le code, très pratique pour justifier un soudain gain énorme de performance pour les prochaines releases et prouver qu’on a travaillé dur;
  • Hamish Rodda, les bugs, c’est sa passion, actuellement au poste de designer de mauvaises expérience utilisateur, son pari a été gagné avec Kate.

Je pense que la palme d’or va pour Matt Newell, testeur, qui a validé que les bugs se comportaient comme prévu. Merci à toi, mec.

Pour rigoler, j’ai ouvert un autre fichier json, de 150 KB cette fois-ci. Outch. J’ai le retour à la ligne dynamique d’activé, quand on édite de grande ligne, c’est bien pratique. Déjà, la sélection rame à mort, car j’ai voulu sélectionner une ligne pour savoir combien de caractères par ligne il y avait… après avoir réussi à sélectionner une ligne, le nombre de caractères sélectionnés n’est pas affichés… ahahah, je ne savais pas que ça existait encore des éditeurs qui ne proposait pas ça, merci Kate de m’avoir faire rire.

Donc, il y a 110 caractères par lignes, la ligne unique du fichier est donc affichée sur plusieurs lignes, cela fait donc un peu plus de 1 300 lignes à afficher. Sauf que la barre de scroll ne tient pas du tout en compte de ce nombre de ligne affichée, j’ai donc une barre de scroll qui sert à RIEN, en scrollant, je vais à la fin de la ligne. La barre de scroll fonctionne par ligne réelle dans le fichier et non par ligne affichée… WOOT. Je disais quoi tout à l’heure ? Ah oui, que c’est un logiciel pensé pour fonctionner avec des lignes courtes… On parle quand même d’un éditeur de texte… La désactivation de la coloration syntaxique ne change évidemment rien au lag (au moins on sait que ça ne vient pas de là).

Lamentable, LAMENTABLE pour un logiciel BASIQUE: afficher et colorer des lignes ce n’est pas la fin du monde, la « techno » existe depuis 100 ans si je puis dire. LAMENTABLE également car c’est un logiciel clé de KDE, une honte.

En bonus, l’aspect modulaire de KDE fait que cette merde d’éditeur de texte est une librairie réutilisable par d’autres applications: KatePart. En particulier, c’est réutilisé par KDevelop. L’aspect modulaire est une bonne chose, sauf quand ce qui est réutilisé est de la merde en barre. Cela pourri tous les logiciels qui s’en servent.

Fuck Kate, Fuck KDE.

Système de paquets

En faisant le tri, je découvre à la surprise générale que j’ai un dossier ~/.thumbnails/normal/ avec 11 200 fichiers pour 550 MB, à en faire crever Gwenview (qui peut donc rejoindre digikam). C’est là l’originalité de linux, on ne sait pas trop où est quoi, c’est le gros bordel avec tout dans le dossier home sous forme de fichiers cachés (berk). Cela aurait pu au moins être dans ~/.cache/thumbnails, merde! Même mieux, ~/.tmp/cache/thumbnails.

L’adoption d’un standard permet à n’importe quel administrateur (ou utilisateur d’ailleurs) de purger un dossier sans risque de perdre des données. Par exemple, le dossier ~/.tmp pourrait se vider sans problème, sans réfléchir. Encore faut-il que les développeurs sachent aller au delà de leurs complexes et cesser de penser qu’ils sont seuls au monde.

Du coup, pour connaitre quels sont les dossiers/fichiers qui prennent le plus de place, j’ai décidé d’installer KDirStat. Un magnifique logiciel qui scanne tout dossier pour ensuite afficher un beau graphique.

J’utilise l’équivalent windows au travail, un pur régal. Sur linux… ahahahaahah. Si sur windows j’avais pu utiliser exactement le même logiciel pour windows XP et windows 7, sur linux, il m’est impossible d’installer KDirStat.

Sur la page du paquet de ma distribution, il y a deux dépendances: kdelib3 et optipng. Si la seconde est facile à résoudre, la première est la plus drôle:

# pacman -S kdelibs3
erreur : impossible de trouver la cible : kdelibs3

Un commentaire récent m’indique que je ne suis pas le seul dans ce cas:

Comment by rajuk 2015-05-13 09:20
Fails to build, unable to satisfy kdelibs3 dependency.

Ouaip, magnifique système de dépendances. Ce magnifique système où un logiciel qui évolue empêche tous les autres logiciels qui n’ont pas été migré de fonctionner, ça c’est la classe.

C’est surtout le gros problème de linux, si il n’y a plus de mainteneur, le logiciel cesse d’exister.

Fuck linux ?

KDE: la merde est de retour

Cela faisait longtemps que je n’avais plus eu de couille avec les mises à jour. C’était trop beau pour durer. KDE est passé à la version 5.6 début janvier. Le temps que ça arrive dans ma distribution (Arch linux), je fais la mise à jour fin janvier, et c’est la catastrophe.

Tout d’abord, c’est devenu moche. Le theme Oxygen ne peut plus être utilisé. Ca c’est fait.

Seconde chose qui se remarque très vite, la perte des préférences. Konsole n’a plus la police que j’avais choisi, et je ne suis pas le seul à avoir remarqué cela. Autre changement notable pour Konsole, c’est qu’à présent les onglets ne se restaurent plus au redémarrage. Je ne sais pas si il y avait une option avant, mais en tout je ne trouve rien dans les options actuelles.

Ensuite, le classique PC qui rame, comme d’habitude, c’est surtout après avoir lancé Firefox, avec l’expression typique: « oh non ils ont encore fait les bourrins chez Mozilla ». Le gestionnaire des tâches me montre le réel coupable: baloo qui s’est réactivé. Pas de problème, j’en avais déjà parlé, j’ai simplement à relancer les mêmes commandes. Ceci est la routine, rien de dramatique, mais cela vaut la peine de le signaler car cela s’ajoute à la pile de problèmes et cela peut facilement être la goute qui fait déborder le vase.

Dans la même session, Dolphin qui plante, à chaque fois, chaque jour au moins une fois. Première fois de ma vie que je le vois planter. Un bon gros freeze sans raison, je ne faisais rien dedans, l’application était en arrière plan tranquille, puis je retourne dessus et plus rien… Fantastique.

Peu de temps après, la découverte que vagrant ne fonctionnait plus (il faisait parti de la mise à jour). Dans un projet sous vagrant, impossible de lancer la machine virtuelle. Une recherche m’a permis de résoudre ce problème, la machine virtuelle était bloquée dans le GRUB, cool.

Peu de temps après toujours, car on ne découvre pas tous les bugs d’un coup, ce serait trop facile, je constate que j’ai perdu la préférence du nombre de lignes scrollées avec la molette de la souris. C’est revenu à la valeur par défaut de trois, au lieu de plus de 10. Je n’aime pas scroller pendant des heures pour rien. Pas de problème, je retourne dans les préférences configurer cela… sauf que c’est déjà sur la bonne valeur, de 12 lignes (Mouse wheel scrolls by). Ce n’est donc plus pris en compte par Kate et Konsole, et surement d’autres logiciels. Encore une belle régression.

À ce moment là, j’ai vu une autre belle régression dans le panneau de configuration (System setting), les info-bulles scintillent lorsque l’on passe d’une icone à l’autre. Comme si il y avait un fondu, mais raté. J’en ai fait une vidéo tellement que c’était drôle, ce genre de bug en 2015 ? C’est possible ? LOL. Soyons gentil, on dira que c’est ma carte graphique qui suck, avec des drivers qui suck, alalala (mais non, c’est bien un bug).

On en arrive au crash du serveur X. Alors je ne sais pas trop si ce n’est pas kwin qui a plutôt fait de la merde au point de faire monter X à 100% du cpu et conduire au crash. Mais ça a crashé, première fois également que je vois ça. Fort heureusement, contrairement à Dolphin, le serveur X ne crash pas tous les jours (ouf, il crash très rarement heureusement).

Encore une régression dans Kate, quand on déplace un texte sélectionné, la sélection se positionne sur les caractères suivants au relachement du click. Au mieux on fait en sorte que la sélection disparait, mais on ne sélectionne pas du texte qui n’a rien avoir… Cela enchaine les fails pour Kate, cela me fait penser à mon très vieux billet relatif aux problèmes de conception. Cela doit donc toujours être la même équipe de bras cassés qui s’occupe de ce logiciel.

Puis il y a le bug ultra bloquant, xbindkeys ne fonctionnait plus. Et il ne fonctionne toujours pas d’ailleurs, au point que ça va bientôt être bloquant si je n’ai pas de solution. Pour résumer, Xbindkeys permet de lier une touche (ou combinaison de touches) à une commande. Cette même commande peut générer des touches, ainsi on peut lier une touche à une touche, ou une touche à une action. Dit autrement, cela fait gagner un temps monstrueux et c’est un confort non négligeable. Il est possible de faire la même chose sur Windows, mais je préfère la manière de faire de linux… du moins je préférai.

Après plusieurs tentative pour Xbindkeys, je découvre que le bug ne se produit que sur Kate et Kwrite, c’est con, mes macros concernent justement les éditeurs de texte (et donc ces deux logiciels). C’est donc un très bel enchainement de fails pour Kate: 1 bug bloquant plus 2 gênants.

Un dernier mot pour Konsole, il plante également par moment, en tuant donc tous les processus lancés dedans. Une autre grosse régression, il n’est plus possible de déplacer les onglets de session (dans Konsole toujours, oui oui, c’est bien une régression sévère… bon d’accord, une régression juste chiante). Je n’ai jamais autant adorer utiliser linux…

Si j’ai eu des bugs un peu dans tous les sens, je blame en particulier KDE qui sort une mise à jour sans tests poussés. Mais je me souviens à présent pourquoi cela faisait longtemps que je n’avais plus eu de bugs. Je n’installais jamais les mises à jour de KDE le jour de leur sorti, j’attendais toujours qu’ils fassent leur mise à jour de bugfix. Dit comme ça, Linux fait comme Windows, cela prend les utilisateurs pour des béta testeurs.

Es-ce le prix à payer pour être à jour ? Non clairement pas, je me paie ces bugs à cause des développeurs qui font de la merde. Sérieux, des fois je regarde leur code source, j’ai juste envie de vomir, le nom des variables suffit pour avoir peine pour eux, à se demander pourquoi à chaque nouvelle génération de développeurs tout est ré-écrit.

Déjà que c’est moche de base, si en plus c’est buggé. FUCK KDE. Les fautifs sont ceux qui sortent les logiciels buggés, ce n’est pas à cause de la distribution qui les fournis sans avoir débuggé la merde upstream (mais parfois la distribution ajoute des bugs en voulant fournir un beau bureau intégré, mais ce n’est pas le cas d’Arch linux dont le but est de modifier au minimum les logiciels).

Bref, j’écris ce billet en retard car il y a eu tellement de bugs que je le gardais de coté pour le remplir au fur est à mesure… mais j’ai tout simplement jeter l’éponge. Es-ce là la contre partie d’une distribution en rolling release ? La distribution fait son travail, j’ai des logiciels à jour, le problème est réellement des développeurs qui sortent des logiciels non terminés sous prétexte d’une migration progressive.

Pour terminer, une citation du forum de ma distribution car je ne suis pas le seul (et ni fou)

I am a litle sad to see that each time a new version of the desktop (any desktop…) is released, we have something bugy for a year or two before it become stable. As a consequence, we are left most of the time with beta software.

Je partage exactement le même sentiment.

Une mise à jour ratée, drivers nvidia

Cela faisait longtemps que je n’avais pas eu de problème avec arch linux. Aujourd’hui, grosse mise à jour, à cause de java qui nécessitait une intervention manuelle. Par flemme d’aller voir sur leur site web, j’avais laissé trainé pendant deux semaines.

Je réalise donc la petite manipulation, et tout se met à jour comme prévu. Je redémarre le PC et là c’est le drame, mon PC reste en mode console, pas d’interface graphique. Première sensation à chaud, c’est juste la grosse déception que de nos jours on puisse en arriver là suite à une mise à jour, dans ma tête c’était un gros « Non, ce n’est pas possible, quel blagueur ce linux« . Dans le doute, je redémarre à nouveau, sait-on jamais. Pas de chance, même problème.

Cela a commencé à me faire chier, je voulais tout simplement utiliser mon PC pour faire un truc et me voilà bloqué sur un problème à la con car personne n’est capable d’assurer qu’une mise à jour ne cassera pas le système. Je me suis déjà imaginé à devoir tout réinstaller, d’ailleurs un petit backup du système sera fait bientôt.

Bref, d’expérience, c’est le paquet nvidia qui doit causer problème. Un petit coup d’oeil dans les logs:

[ 756.591] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[ 756.591] (EE) NVIDIA: system’s kernel log for additional error messages and
[ 756.591] (EE) NVIDIA: consult the NVIDIA README for details.
[ 756.591] (EE) No devices detected.
[ 756.591] (EE)
Fatal server error:
[ 756.591] (EE) no screens found(EE)
[ 756.591] (EE)

C’est là qu’on apprécie d’avoir pris le temps de bien configurer le mode console basique (le bon layout de clavier). Un petit downgrade de nvida avec un grand merci ma tablette pour l’aide du wiki sur comment downgrader, un petit reboot, et le problème… n’est pas résolu.

Là je me dis que c’est un peu la merde. J’ai pensé à la nouvelle version du noyau linux (3.17), mais la mise jour était mineure (3.16.3-1 -> 3.16.4-1). Au début je me suis qu’une mise à jour mineure ne peut pas virer des drivers, mais ne voyant pas d’autres solutions « faciles », ça ne coutait rien de downgrader le noyau.

Un petit reboot, et ça marche… gros WTF. Maintenant une mise à jour mineure peut faire péter un driver. J’ai envie d’accuser la distribution, mais elle utilise les paquets upstream, on peut facilement suivre ce qui a changé dans le paquet entre la 3.16.3 et la 3.16.4. Il n’y a pas grand chose à part l’URL de la nouvelle version upstream.

On pourrait presque en déduire que c’est donc l’upstream (les auteurs originaux) responsable de ce problème. Mais cela pourrait être aussi nvidia (nvidia 340.32-1 -> 340.32-2, nvidia-utils 340.32-1 -> 343.22-1, nvidia-libgl 340.32-1 -> 343.22-1).

Peu importe le coupable, c’est juste ridicule! C’est surement le revers de la médaille d’utiliser une distribution en rolling release, même si la distribution n’y est pour rien. Sur une autre distribution, le problème arrivera peut-être lors d’une mise à jour majeure quand le noyau changera. Du coup, fuck linux.

La solution temporaire est d’interdire la mise à jour des paquets linux et nvidia*… jusqu’au prochain épisode.

J’en profite pour ajouter les désagréments habituels. Pourquoi la mise à jour de bash m’a fait perdre tout mon historique ? Le fichier .bash_history de mon compte utilisateur (non root) est devenu vide… Mais celui d’autres utilisateurs n’a pas changé…

Pourquoi le fichier /usr/share/X11/xkb/symbols/fr écrase mes modifications au lieu de faire comme tous les autres fichiers en créant un fichier .pacnew.

Et aussi, putain, pourquoi formater une clé USB est si compliqué ? J’ai eu à le faire pour m’en servir pour une imprimante/scanner pour scanner un document (car hors de question de faire marcher le scanner avec linux, je n’avais pas envie de jouer à la chasse au trésor). Et merde, un clique droit dans Dolphin ne propose rien de cela. Quand on pense que Windows a ajouté enfin l’option triviale et énormément demandée de monter une image ISO en un click sans avoir à installer de logiciels tiers, et bien sur linux (KDE) il n’est même pas possible de formater facilement.

KDE Baloo indexeur de fichier

Mise à jour de linux, mon PC s’est mis à ramer comme pas possible lors du prochain lancement. Comme par hasard en utilisant Firefox. Au bout de quelques minutes, je lance un process monitor (iotop) et je vois baloo, c’est là, c’est le drame. C’est le putain d’indexeur de fichiers.

J’avais déjà désactivé Nepomuk car c’était de la pure merde, ordinateur inutilisable. Ben ici c’est pareil, c’est quoi qu’ils n’ont pas compris dans un indexeur de fichiers ? Peut-être que la solution est d’utiliser une priorité faible de processus qui ne freeze pas l’user interface des applications, de ne pas lire comme des fous tous les fichiers d’un coup pour mettre les acces disques en disk freeze pour les autres applications. C’est le minimum qu’on attend d’un indexeur de fichier, d’être discret.

Cela me fait penser à tous ces autres logiciels (digiKam, Gwenview, etc) où le minimum que l’on peut attendre du logiciel n’est pas présent.

La solution:
mv /usr/bin/baloo_file_extractor /usr/bin/baloo_file_extractor.orig
ln -s /bin/true /usr/bin/baloo_file_extractor

mv /usr/bin/baloo_file_cleaner /usr/bin/baloo_file_cleaner.orig
ln -s /bin/true /usr/bin/baloo_file_cleaner

chmod ugo-w ~/.local/share/baloo

Sur un autre post, on peut lire que baloo avait généré 14 Go de données avant que le mec trouve comment désactiver cette merde.

La solution la plus élégante: éditer $HOME/.kde4/share/config/baloofilerc et mettre false pour la clé Indexing-Enabled.

Grosse déception de KDE sur ce coup là, rien n’a été appris avec Nepomuk. C’est ma deuxième grosse déception de KDE avec Katepart.

Gwenview, supprimer un fichier

Parfois j’ai vraiment l’impression de rêver. Je trie tranquillement des photos avec Gwenview (4.12.2), je supprime des photos, puis sur une photo j’ai un doute, je décide d’annuler la suppression, je vais naturellement dans Edit, puis Undo, car c’est comme cela que ça marche dans mon file manager Dolphin… mais l’action Undo est grisée… WTF. Je regarde dans d’autre menu, rien pour annuler la suppression. C’est une blague ?

Gwenview est une sorte de file manager pour image et est le logiciel par défaut de KDE pour cela, ne pas supporter l’annulation d’une suppression est tout simplement ridicule. Le fichier supprimé est heureusement dans la corbeille, mais à chaque erreur de suppresion, il faut sortir de l’application, chercher le dernier fichier supprimé, le restaurer. Un Edit, Undo est beaucoup plus rapide et répandu dans tous logiciels qui se respectent.

Je suis profondément déçu qu’après toutes les versions et l’état actuel avancé de Gwenview, il manque une fonctionnalité basique. Cela me fait penser à digiKam

Mettons des valeurs en dur

Cet article suit de très prêt le précédent dans lequel un programme inexistant de mon système était exécuté au lieu de choisir le programme par défaut équivalent. C’est ce que l’on appelle mettre une valeur en dur dans le code. Une sorte de launch(« /bin/nautilus ») même si ce programme n’existe pas et que le filemanager du système est /bin/dolphin.

Je parcourais mes mails de maillist KDE, et sur celle de KDevelop je tombe sur un cas similaire qui m’a fait exclamé: « mais putain il faut être con pour ne pas avoir prévu ça dès le début et attendre que quelqu’un se plaigne ».

Il s’agit de la configuration d’un port TCP. Finalement, c’est un peu comme le cas du gestionnaire de fichier, quand on developpe en pensant qu’on est seul sur Terre, ou pire, en pensant que tout le monde est comme soi, on pense que tout le monde a son gestionnaire de fichier dans /bin/nautilus.

C’est pareil pour un port TCP, on croit que personne ne change sa valeur par défaut parce que le dev lui-même n’a jamais eu un jour besoin de changer la valeur par défaut. Du coup le petit dev il s’est dit qu’il allait mettre la valeur en dur dans le code.

C’est comme ça que l’on arrive à ce genre de patch, en particulier ce fichier (et debugsession.cpp):

- program << "-d xdebug.remote_port="+QString::number(9000);
+ program << "-d xdebug.remote_port="+QString::number(remotePortSetting);

Ca fait froid dans le dos. Une personne a été bloqué à cause de cela par la fainéantise d’un développeur. Ce n’est pas comme si il fallait mettre en place tout un système de gestion de configuration/préférence puisque celui-ci existe déjà, il a suffit d’ajouter une nouvelle valeur dans ce fichier.

N’importe quel programme peut utiliser un port, alors penser qu’un port choisi sera libre chez tout le monde est complétement stupide. Surtout quand le port est un chiffre rond.