L’aventure Linux continue : mes problèmes d’utilisation

Bon, faut qu’on parle de Linux là.

Parce que Linux, c’est chouette. C’est même très chouette que ça existe et que ça soit là où ça en est aujourd’hui. A l’heure où les seules alternatives viables sont Windows (très fonctionnel mais lol la vie privée) et macOS (très vie privée friendly et ultra fonctionnel mais c’est cher frère) c’est cool d’avoir un système libre, supporté, et fonctionnel.

Mais hélas, il est encore loin d’être au point, et parfois c’est énervant. Enervant parce qu’il y a des obstacles simples qui pourraient être éliminés tout aussi simplement. OK parfois c’est plus complexe mais l’idée est là : il y a des choses qui énervent.

Si vous avez un peu suivi mon aventure, je ne suis pas un noob de Linux. J’en gère au taf, y’a Shelter, Bunker et Erin, j’ai un NAS Synology et une VM Ubuntu sur ma Freebox Ultra. J’ai même installé des Gentoo à la chaîne y’a une vingtaine d’années. J’ai donc, l’été dernier, installé Arch sur mon système. Je connaissais les risques(tm). Arch est un système ultra à jour, mais où il faut aussi tout faire soi-même, en configurant les choses parfois dans leurs plus petits détails.

C’était une aventure enrichissante. L’installation et la configuration ont été très formatrices. Je regrette à 0%. Mais quand on utilise son ordinateur au quotidien, le moindre petit bug crispe et nous rappelle amèrement qu’en fait, Windows ou macOS c’est pas si mal.

Du coup je me suis dit que j’allais attendre ce printemps pour tester des distributions plus accessibles. Ubuntu 24.04 et Fedora 40 étaient de sortie justement : parfait.

Plutôt que de vous détailler pourquoi je suis allé sur Fedora plutôt que Ubuntu (après avoir installé, ré-installé, ré-ré-réinstallé l’un puis l’autre puis l’un) je vais m’attarder sur ces petites choses qui m’ont fait me dire :

Non, Linux n’est pas prêt pour le desktop.

Et je vous vois venir : on peut faire tout ce qu’on fait sous Windows aujourd’hui mais sous Linux !

Ah ah, jeune âme encore naïve et innocente. Oui, Linux a fait énormément d’efforts et d’avancées. Mais il demeure toujours des bugs relous. C’est des choses qu’on pouvait accepter y’a des années mais plus aujourd’hui, surtout quand des alternatives comme Windows font mieux dans ces domaines. A cela beaucoup me répondront sûrement qu’on ne peut pas avoir la même exigence entre un logiciel libre développé par la **PASSION** et un autre fait par une armée de développeurs payés pour ça. On peut être très exigeant vis à vis d’un logiciel payant, mais à mon avis ça serait idiot de baisser ses standards sous prétexte qu’il n’y a personne de payé derrière. Ce n’est pas parce que j’utilise Linux gratuitement que je n’ai pas le droit de me plaindre ou de demander à ce qu’il réponde à mes besoins. L’excuse du « c’est pas payé » n’est pas recevable quand on essaye de pousser Linux à remplacer Windows. Heureusement Linux a aussi des arguments à faire valoir :

  • C’est super *snappy*. Genre ça répond souvent au doigt et à l’oeil
  • C’est bien souvent plus léger que Windows (mais pas toujours)
  • C’est parfois aussi plus performant selon les cas, mais ça dépend hélas de beaucoup de critères (matos, drivers, etc.)
  • C’est libre et ça respecte la vie privée.
  • Le mode sombre des environnements de bureau est un vrai mode sombre et s’applique à toutes les fenêtres (sauf bizarrement les fenêtres des apps qu’on appelle parfois en root, et c’est un peu dommage, mais bon passons.)

La plus incroyable avancée reste celle sur les jeux vidéo grâce à Valve et Proton. Mais même à ce niveau-là il reste encore tellement, tellement, tellement de choses à régler. Cela mériterait encore un autre billet, ou une section dédiée. C’est sûr, par rapport à il y a 10 ans c’est le jour et la nuit entre Linux et le jeu vidéo. Mais faut se rendre à l’évidence : on rencontre parfois, pas toujours mais ça arrive, un bug, un comportement étrange, une manette non reconnue jusqu’au reboot, une souris trop sensible, une police de caractère manquante, un codec vidéo manquant, un paramètre de ligne de commande à ajouter dans les propriétés du jeu… bref, le joueur lambda, celui que Linux essaye encore de conquérir, il veut juste que ça marche sur son PC à 1500€ (voire plus.) et on le comprend.

Mais pour le desktop ? Pour un utilisateur vraiment très très lambda ouais Linux ça marche bien.

Jusqu’au moment où un bug va survenir.

Et là c’est la merde parce que 99% du temps, ça va se régler dans un terminal. Et le terminal c’est pas fait pour Madame Michu. Personne ne devrait avoir à ouvrir le terminal pour configurer ou installer quelque chose sous Linux. N’en déplaise aux libristes ou Linuxiens à la barbe la plus développée.

Du coup, quand j’ai rencontré un souci, je me suis demandé si j’allais devoir attraper un terminal. Comme vous allez le voir, ça n’a pas toujours été le cas, mais… on est pas passés loin.

Comment ça l’installation est bloquée sur le papier-peint ?

Problème

Première fourberie qui a mon sens est débile : l’installation de Fedora (et d’autres distrib en vrai, on va pas taper que sur Fedora) se dit que peut-être, ça serait une super idée de mettre le bureau en mode étendu sur mon écran et ma télévision. Télévision éteinte, au passage. Mais comme il paraît que la norme HDMI fait qu’un moniteur éteint est quand même détecté, ben ça donne des bizarreries comme ça.

Je me suis donc retrouvé devant un papier peint de Fedora, me demandant si l’install n’était pas bloquée. Ce n’est qu’en allumant la télé pour vouloir y mettre une vidéo youtube histoire de me faire un fond sonore pendant que je débloque la situation, que j’ai vu l’install sur le mauvais écran.

Pourquoi ça fait ça ? Aucune idée. Peut-être que la télévision, étant 4K, est considérée comme écran principal alors que mon véritable écran n’est qu’en 1080p. La télé est en HDMI et l’écran en DisplayPort.

Donc déjà, Madame Michu si elle a son PC relié à un écran + une télé, ben elle peut pas installer Linux.

Ca commence bien.

Notez que ce n’est pas limité à l’installation : j’ai débranché la télévision le temps de l’installation, pour la rebrancher une fois bien installé. Dans ce cas précis, Linux a tout simplement basculé l’écran principal sur la télé que je venais de rebrancher. Ce qui est débile. Pourquoi ne pas garder l’écran originellement détecté comme principal ?

En plus cette histoire d’extension est compliquée pour un malvoyant vu qu’il faut retrouver son curseur sur la télévision à côté et naviguer sur plusieurs écrans donc niveau accessibilité c’est pas ouf.

J’en profite d’être sur l’installation mais je donne un bon point à Linux sur le fait qu’on peut passer les installeurs en mode sombre via le thème de bureau vu qu’on est sur un système « Live ». Bon dans l’idéal il faudrait que ça soit proposé à l’installation mais hé, on va pas cracher dans la soupe.

Les distros Linux feraient bien de s’inspirer de l’on-boarding d’iOS (je connais pas celui d’Android) qui pose tout un tas de question d’accessibilité si on appuie 3 fois sur le bouton mécanique de l’appareil d’abord avant de procéder à l’install de l’OS.

Autre note sur la gestion des écrans multiples : Linux crée un overscan sur ma télé sans que je sache trop pourquoi. Je dois changer un paramètre dessus (détection de l’aspect de l’image à OFF) pour que ça passe. Xorg et driver Nvidia bien entendu, et là les Linuxiens vont cracher à mes pieds.

Allez, une dernière : pourquoi vouloir passer d’un buerau étendu à plusieurs écrans à de la recopie et inversement est si compliqué sous KDE ? Sous Gnome j’ai plus souvenir de comment ça marche mais sous KDE, j’ai toujours peur de me retrouver avec le mauvais écran en principal et du coup d’être obligé de regarder la télé (où je ne vois pas mon pointeur de souris). Oui on revient à la version initiale après quelques secondes, mais c’est sacrément plus simple sous Windows ou macOS.

Solution

  • Faire une recopie d’écran par défaut plutôt qu’une extension.
  • Ok je peux comprendre que ça soit pas souhaitable dans certaines configurations mais au moins pendant l’installation ça me paraît la moindre des choses, quitte à demander à l’utilisateur comment configurer ses écrans pendant celle-ci.
  • Ne pas basculer en écran principal un écran nouvellement branché. Sérieusement.

La mise en veille du son

Problème

Vous ne le savez peut-être pas mais le son sous Linux c’est la jungle. En vrai je ne comprends toujours pas comment Linux peut aussi mal gérer un truc aussi simple que le son ou l’affichage alors que ça fait plusieurs décennies que Windows et macOS font ça très bien. Et le truc c’est que plein de problèmes découlent de ce bordel qu’est la gestion du son et de l’affichage.

Mais là où c’est rigolo concernant le son, c’est que Pipewire, le système qu’utilisent à peu près toutes les distro Linux modernes, fait en sorte que la sortie son soit « mise en veille » s’il n’y a pas de son pendant un certain temps. La conséquence c’est que dés qu’il faut jouer un son, par exemple une notification de messagerie instantanée, le son déconne.

Et par déconne, j’entends soit :

  • Des craquements (certains matériels sonores font ça en s’allumant)
  • Un délai avant que le son soit joué (le temps que le matos son se réveille)
  • Ou, dans mon cas, un effet de fade-in qui, sur des courts sons comme des notifs, les rend inaudibles.

Pourquoi ce truc est activé ? Quelle est la raison ? Aucune idée, mais c’est vraiment un truc crispant.

Solution

Le pavé tactile des manettes Playstation 4 et 5 reconnus comme une souris.

Problème

Ah vous savez, moi je suis quelqu’un qui aime rire. J’aime bien les blagues. Par exemple quand je joue à un jeu PS5 via Chiaki4Deck (excellent logiciel de Remote Play PS4/5 d’ailleurs, pour jouer à votre console depuis le confort de votre PC ou votre Steam Deck.) j’adore que mon curseur de souris bouge tout seul quand je manipule le pavé tactile de la manette.

Je sais pas si ça vient du driver open source que Sony a publié dans le kernel ou si c’est autre chose, mais c’est vraiment, turbo débile.

Solution

Heureusement, que ça soit dans KDE ou Gnome, on peut désactiver le pavé tactile, mais ça a un prix : on désactive alors le pavé tactile de son ordi portable si on en a un.

Je n’ai pas repéré ce bug sur Steam Deck donc je suppose que Valve a patché ça comme il faut mais c’est quand même très con.

A noter qu’au début j’avais trouvé une solution tarabiscotée à base d’édition de fichiers de conf Xorg ou de règles udev. Cette solution est probablement utile si on a un autre pavé tactile qu’on souhaite conserver, mais le plus simple si ce n’est pas le cas c’est d’aller désactiver la gestion du pavé tactile dans Gnome ou KDE.

Partages de fichiers et lecteurs réseau

Problème

C’est de la merde.

Bon ok, je détaille.

Je vais tenter de pas m’énerver parce que je vous avoue que c’est un souci qui me rend fou.

Sous Linux, pour partager des fichiers entre ordinateurs, il y a des solutions assez simples comme Warp, qu’on peut installer assez facilement et qui permettent de s’échanger des fichiers ponctuellement, via une interface simple, façon Airdrop d’Apple. Ca marche fort bien en vrai.

Il y a aussi le besoin moins ponctuel, où on va vouloir un espace de travail commun, en réseau local.

Vous me direz, entre SMB/CIFS, NFS, SSHFS, AFS (si si), les solution ne manquent pas.

Je vous répondrai que oui, mais elles sont soit très mal intégrées soit terriblement inefficaces.

Un peu de contexte :

J’ai un NAS Synology avec un volume de données dessus. Il s’appelle d’ailleurs MAIDS-4 pour Massive Array of Inexpansive Disks System. Je l’aime bien y’a plein de trucs dessus dont toutes les vidéos de Karaoke Mugen, données dont j’ai besoin vu que je suis l’un des devs. Et j’en ai besoin de manière *permanente*.

J’avais besoin de corriger un bug sur Karaoke Mugen affectant la validation de la base de données qui ne fonctionnait pas correctement mais pour ça j’avais besoin de la base complète, avec toutes ses vidéos donc.

Mon objectif était, comme sous Windows ou macOS, de monter le dossier de façon simple, sans ligne de commande.

KDE / Dolphin ? 0.

Comme j’ai commencé mon aventure Fedora sous KDE, je suis bien vite tombé des nues en constatant que KIO, le sous-système de gestion des fichiers de KDE, ne rendait pas accessible les dossiers partagés pour le terminal ou d’autres applications ne gérant pas KIO. Résultat des courses, c’est totalement inutilisable pour du développement sérieux.

SMB4K ? 0.

L’interface est imbitable et je n’ai jamais réussi à parcourir le réseau SMB correctement sauf en spécifiant moi-même l’emplacement de mon NAS et de son volume. C’est un outil certes complet mais affreusement complexe et si j’avais réussi à le faire fonctionner sous Arch, je n’ai jamais re-réussi à monter convenablement mon partage réseau, qui plus est au démarrage, sous Fedora. Limite faudrait écrire un tuto.

Gnome / Nautilus ? 0.

Gnome a un gestionnaire de fichiers simple mais efficace. Sans fioritures. Pour le coup, monter un partage Samba, AFS ou FTP est simple et efficace aussi. En plus de ça, on peut le parcourir depuis le terminal.

Chouette, me dis-je ! Aurais-je trouvé la solution miracle ? On ne peut pas les monter au boot mais bon, si j’arrêtais d’avoir des exigences de power user sur un système de power user ? Franchement je suis con quand même hein ?

Hé bien non !. GVFS, l’équivalent de KIO donc, qui gère le montage, le partage samba etc, est d’une lenteur absolue dans certaines conditions. Par exemple quand vous avez un dossier de 19 000+ fichiers. Karaoke Mugen met alors plusieurs minutes uniquement pour scanner le dossier.

J’ai testé après en montant le dossier via Samba en ligne de commande, le même scan ne prend que quelques secondes.

Donc GVFS ralentit énormément le traitement. Après c’est un bon moyen de monter facilement des dossiers réseau mais soyons réalistes : je plains le pauvre mec qui veut faire du montage vidéo avec des vidéos sur le réseau,ou quelqu’un qui travaille tout simplement sur un gros site web ou appli avec un dossier « node_modules » plein à craquer.

SSHFS / Fuse ? 0.

La mort dans l’âme et voyant que l’interface graphique ne me mènerait nulle part, j’ai essayé SSHFS via Fuse, un système permettant aux utilisateurs de se monter des systèmes de fichiers distants. Ca marchait très bien et j’étais super content, jusqu’au moment où Karaoke Mugen m’alerte qu’il manque environ 800 vidéos sur les 19 000. Au bout de quelques minutes je comprends alors que toutes les vidéos avec un tilde dans le nom (~) sont en fait totalement invisibles. Genre on les voit en faisant un simple « ls » mais impossible d’y accéder.

Mystérieux. Et frustrant.

NFS ? 0.

NFS entre systèmes Linux ça fait sens, si NFS n’était pas aussi casse-couilles. NFS pour que ça marche il faut une équivalence entre les IDs système des utilisateurs. En gros moi j’avais 1000 pour mon user, alors que le syno avait 1023 ou je ne sais plus quoi.

Là c’est aussi un peu la faute de Synology, qui dans son implémentation permet de mapper les utilisateurs clients sur un utilisateur du Synology. Or, sans que je sache trop pourquoi, on ne peut choisir que guest, admin ou root. Mais moi je suis un gentil garçon qui ne bosse pas avec « admin » sur mon Syno. J’ai mon propre utilisateur pour lire et écrire mes fichiers. Résultat impossible pour moi d’utiliser NFS. Ou alors il aurait fallu que je permette à « admin » de lire et d’écrire tous mes fichiers, ou que je modifie le fichier « exports » du Syno à la ligne de commande, sans passer par leur interface. Probablement une mauvaise idée.

Bah… Fstab. 0 aussi.

Bon en vrai avec fstab ça marche, mais :

J’ai dû utiliser la ligne de commande.

Et j’ai dû éditer ce fichier et trouver les bons paramètres, je suis désolé mais ce n’est pas pour un utilisateur lambda. Les tutos internet se contredisent. En plus, ce fichier est critique car une fausse manip empêchera votre système de booter.

Sous Windows j’ai juste à faire clic droit connecter un lecteur réseau et ça putain de marche. Oui je peux même cocher une case pour que ça se connecte au démarrage. Encore mieux : le partage est vu comme un lecteur, comme s’il faisait partie de mon système. C’est totalement transparent pour toutes les applications.

macOS fait un travail similaire mais à la sauce Unix. Rien de bien méchant finalement.

Pourquoi sous Linux c’est si compliqué d’avoir quelque chose qui est pourtant simple ?

Ce qui me bute le plus c’est que j’ai passé plusieurs heures à tenter de trouver le moyen d’avoir mes fichiers dispos pour Karaoke Mugen afin de corriger un bug… et au final j’ai pas corrigé le bug (je l’ai fait bien plus tard) tellement ça m’a énervé de passer autant de temps sur un souci qui était réglé en 2 minutes sous Windows.

Solution

Il n’y en a aucune. Enfin si : monter ça en NFS en bidouillant un peu le Syno ou en Samba, mais dans tous les cas il faut passer par la ligne de commande ou l’édition d’un fichier de configuration imbitable pour le commun des mortels.

Pour la simplicité on repassera, donc.

La mise en veille auto qui ignore royalement les manettes

Problème

Je joue pas mal sur mon ordinateur. Que ça soit sous Linux ou Windows. Comme je disais plus tôt, je fais du Remote Play PS5. En faisant ça, je joue à la manette devant mon ordi.

Et c’est là que le problème survient : en jouant quelques heures, tout d’un coup le PC se met en veille. Pourquoi ? Parce que le système de gestion de la mise en veille sous Linux est pas toujours très cohérent. Et je parle pas d’un point de vue matériel car on sait tous que les drivers des différents composants d’un PC ne sont pas toujours très sympa avec la mise en veille. Là je parle vraiment d’un problème fonctionnel :

La mise en veille ne tient pas compte de ce qu’on fait à la manette.

Comme elle ne tient pas compte qu’on regarde un film, par exemple, sans toucher à la souris ou au clavier.

Et c’est très frustrant pour l’utilisateur.

Solution

Pour palier à ça il y a des extensions gnome et KDE comme Caffeine qui font en sorte de « titiller » le système afin de l’empêcher de passer en veille, quand par exemple du son sort du PC.

Mais pourquoi c’est pas géré par défaut par les environnements de bureaux ?

Mystère.

Pourquoi faut manuellement monter ses disques durs ?

Problème

C’est vrai ça, pourquoi ?

Sous Windows, les disques sont auto-détectés et montés automatiquement. On va dessus, on clique, on accède.

Sous macOS j’avoue ne pas avoir essayé récemment, surtout que les mac ont tendance à n’avoir qu’un seul disque dur, donc difficile de dire si c’est bien fait ou pas.

Sous Linux ? Non seulement je dois monter les disques manuellement en cliquant dessus (heureusement Dolphin de KDE et Nautilus de Gnome ont tous deux des mécanismes transparents pour faire ça) mais en plus de ça je dois taper mon mot de passe pour passer root; Pourquoi le montage de disques ou de filesystems locaux nécessite sudo par défaut sur un système desktop ?

Mystère. Très mystérieux même.

Solution

Editer le fichier fstab… non en vrai c’est faux. On peut faire ça avec l’utilitaire de disques de Gnome. Non chez KDE le gestionnaire de partitions ne fait pas le taff. Mais l’utilitaire de disques a le mérite de proposer une option de montage automatique des partitions/disques autres que le principal au démarrage. C’est quand même un peu planqué mais ça a le mérite d’exister !

Volume sonore délicat à gérer

Problème

C’est un souci un peu compliqué à expliquer mais sous Windows ou sous Mac je n’ai jamais réellement eu de souci à gérer le son provenant de plusieurs applications.

Exemple concret : je veux baisser le son d’une application, comme un jeu, pour mieux écouter un stream twitch. Je vous l’accorde, il serait probablement plus malin de baisser le son dans les options du jeu mais mon réflexe est plutôt d’aller dans les paramètres audio et gérer le volume par application. Autre exemple : je joue à un jeu que j’ai mis en pause, mais le jeu produit un bruit de fond que je ne peux pas couper et je voudrais regarder une vidéo pendant que je mange.

Encore un exemple qui m’a parfois posé des soucis, mais probablement dû aux drivers Nvidia propriétaires : le passage de sortie des enceintes vers la sortie HDMI de la carte graphique pour le son (car la télé a une barre de son) pose parfois des soucis. Ce qui fait que, bah, pour faire du karaoké, je me retrouve à repasser sous Windows parce que cette gestion multi-écran multi-sortie son est simplifiée.

Tout ça, ce n’est pas évident sous Linux.

Solution

Sous KDE c’est assez simple à condition d’installer le bon mixeur audio dans la barre des tâches (de mémoire.) Sous Gnome il faudra composer sans vu la simplicité voulue de l’environnement de bureau.

Les AppImages

Sous Linux la gestion des programmes c’est à la fois simple et compliqué.

Simple parce que tout ce qui est fourni avec votre distribution c’est simple même si jusqu’à il n’y a pas si longtemps les logiciels de gestion des paquets installés était horrible. Aujourd’hui on a Discover (KDE) et Logiciels (Gnome) et dieu merci c’est quand même pas mal (sauf pour les paquets un peu « système » qui n’y sont pas listés).

Aujourd’hui il y a Flathub pour les Flatpak et il faut bien reconnaître que ça permet à beaucoup de développeurs d’éviter de dev des paquets spécifiques à chaque distribution. En tant que développeur d’une app comme Karaoke Mugen, même si les flatpak sont pas sans défauts et sont un peu compliqués à créer (la documentation oscille entre l’insuffisant et l’inexistant selon ce qu’on veut faire) une fois que c’est fait, ça ronronne bien.

Mais voilà il y a un outsider, c’est les AppImages. Pas exempts de défauts non plus, ils ont le mérite d’être faciles à faire, surtout pour des développeurs d’applications multi-plateformes comme moi (et d’autres) qui ont autre chose à foutre que d’empaqueter leur app pour chaque distribution du marché. Je vous jure qu’on préfère corriger des bugs ou améliorer nos softs.

Vous me direz « Mais c’est aux mainteneurs de la distribution de faire des paquets. » Coucou, on est en 2024. Je ne vois ni Discord ni VSCode comme paquets dans ma Fedora. Sous Windows ou macOS ce sont les dev qui gèrent l’installation de leurs programmes en suivant les recommendations du système d’exploitation. A vouloir trop se reposer sur les mainteneurs des distributions, Linux s’est encrouté et a fait l’impasse sur énormément de logiciels dont aujourd’hui beaucoup de monde a besoin pour utiliser son système. Flatpak et AppImage répondent à ce besoin.

Et les AppImage c’est un peu le parent pauvre de Linux. Fedora pousse Flatpak (yay!), Ubuntu pousse Snap (nay!). Mais je comprends pas pourquoi aucun des deux ne propose une solution simple de s’en servir, de ces AppImages. Surtout que parfois l’app n’est pas dispo en autre chose pour Linux. Parce que le développeur fait du multi-plateforme Windows/Mac/Linux et n’a pas que ça à faire. Et je le comprends que trop bien.

Exemple : sous Fedora je n’ai pas eu de souci à double-cliquer sur un AppImage fraîchement téléchargé pour l’executer. Sous Ubuntu ? J’ai dû le rendre executable avant.

Pire : aucun des deux grands systèmes cités ci-dessus ne permet nativement d’ajouter un AppImage au menu applications de son utilisateur.

Solution

J’ai dû, sous la recommandation de Xefir-les-bons-tuyaux, installer une app externe me permettant ensuite d’ajouter l’AppImage à mon dock/menu.

Croyez-moi, ça ne facilite pas l’utilisation du système par Madame Michu.

Hé je vous entends avec votre « Mais Madame Michu n’a pas besoin de ça, elle a déjà tous les paquets de as distribution voire des snaps ou des flatpak. »

Hin hin, vous êtes des rigolos. Il y aura toujours une app non dispo sur Flathub ou sur les dépôts officiels car les mainteneurs (qui font déjà un boulot monstre) n’ont pas le temps de s’occuper de toutes les apps. Couvrir 95% des besoins, c’est laisser les 5% crever la bouche ouverte dans le caniveau. C’est cruel et ça montre juste l’élitisme d’une grande majorité des utilisateurs de Linux qui « savent comment faire un configure && make && make install hohohoho. »

Ce qui fait une transition vers le point suivant.

Il y a trop de façons d’installer des trucs et c’est vraiment la merde.

Problème

Là on rentre dans un débat houleux où chacun verra midi à sa porte.

A la mienne il est midi douze. Et j’ai faim.

La vérité c’est que sous Linux désormais on compte beaucoup trop de façons d’installer des logiciels et aucune n’est la meilleure.

  • Les paquets de la distribution : Ils dépendent du bon vouloir des mainteneurs et installent tout dans les dossiers prévus à cet effet du système dans /usr. Pourquoi pas mais en soit l’isolation est à oublier et ça rend les programmes interdépendants. Expliquer les dépendances à Madame Michu c’est compliqué.
  • Les paquets RPM/DEB dans la nature : Oui, ceux-là même qu’on vous fait installer parfois en ajoutant un dépôt à votre liste de dépôts apt ou dnf. Ca aussi c’est pas évident à faire installer à Madame Michu.
  • Flatpak et Snap : Isolation OK, mais il faut avoir de la lalce sur son disque car les Flatpak prennent une place folle car livrés avec leurs dépendances (minus un tronc commun que flathub fournit par exemple. Le Flatpak de Karaoke Mugen est franchement obèse mais on y peut rien. Au moins ça marche sur tous les systèmes Linux et rien que pour ça Flatpak c’est quand même bien pour les développeurs qui ont plus à se soucier de quelle dépendance est installée sur tel ou tel système. L’intérêt principal de Flatpak en tous cas (je connais pas assez Snap) c’est que les Flatpak peuvent être installés au niveau système ou au niveau utilisateur, et ça ça permet à un utilisateur d’ajouter un logiciel à sa logithèque sans passer par root. Sur un système mono-utilisateur (je pense que c’est la norme : on est peu à partager un PC à plusieurs) ça rend l’installation de logiciels trivial.
  • AppImages : comme décrit plus haut c’est pas toujours le pied, c’est mal pris en charge par les distributions et contrairement à un Flatpak on est pas assurés à 100% qu’un AppImage fonctionnera sur tous les systèmes. Le format permet néanmoins de condenser une app et ses fichiers dans un seul élément (le .AppImage) similaire au .app de macOS. Ce qui rend la distribution d’une app bien plus simple.
  • La compilation : Bah oui il reste ça quand on a le code source sous la min mais ça implique de savoir ce qu’on fait et aussi d’installer un milliard de dépendances de développement sur son système. Hors de portée de Madame Michu donc. Et dans certains cas ça casse quand on met à jour le système entier.

Et dans cette jungle, vous vous dites que l’utilisateur choisira la façon qu’il préfère. Sauf que c’est pas l’utilisateur le problème dans ce cas. C’est le développeur.

J’ai passé, avec certains de l’équipe de Karaoke Mugen (coucou Dragicafit) un temps infini à créer et tester flatpaks, appimages, versions tar.gz et à documenter le processus de compilation depuis les sources. Et à côté de ça on doit aussi gérer les versions Windows en .zip et installeur, ainsi que les versions Intel et ARM pour Mac. Ah je vous ai pas dit mais on a aussi une version Intel et ARM pour Linux.

Quand je vous disais que la complexité des nombreux systèmes de gestion des programmes sous Linux rend vraiment tout ça pénible plus pour les développeurs, et par extension pour les utilisateurs.

Solution

Y’en a pas encore, mais on y vient. Déjà avec les distributions immuables qui sont à la mode depuis le Steam Deck, y’a du progrès et on arrive à des systèmes plus monolithiques mais plus simples aussi à gérer pour les développeurs d’applications, qui ont du coup des cibles « précises » à viser et un seul canal de distribution (Flatpak). Même si l’éclatement des distributions Linux rend toujours ça complexe par nature, ça va dans le bon sens.

L’avènement des Flatpak permet aussi de s’affranchir de beaucoup de choses avec son système de builds reproductibles.

SteamOS pour ça a permis de prendre conscience qu’un système fixe auquel on ne peut pas toucher sauf installer des apps Flatpak niveau utilisateur c’était quand même sacrément plus stable et pratique pour beaucoup de gens.

Bref, ça avance, ça avance. Lentement mais ça avance. Au jour d’aujourd’hui ça reste une vraie épine dans le pied des développeurs d’apps et par conséquent des utilisateurs. Parce que Linux n’est pas tout seul. Un développeur doit aujourd’hui créer des apps multi-plateforme. Et ces app multi-plateforme c’est tout à l’avantage de Linux car ça permet à des utilisateurs de migrer d’un système macOS ou Windows en ayant l’assurance de retrouver les mêmes applications qu’il connaît et de pouvoir continuer à exploiter ses données.

Donc par pitié, arrêtez de cracher sur les app multi-plateformes en mode « Electron c’est caca. »

C’est vous les caca.

Et les webapp justement, pourquoi elles manquent ?

Problème

Ca ne vous aura pas échappé, aujourd’hui Madame Michu elle utilise son smartphone ou sa tablette et est habituée à un store d’applications qui ne sont parfois que des navigateurs web glorifiés. j’exagère car beaucoup d’apps pour smartphone sont plus que des navigateurs mais y’a de l’idée.

Or qu’est-ce qu’on trouve justement sur des stores comme l’App Store d’Apple ou le MS Store de Microsoft ? Des apps comme Netflix, Twitch, Amazon, Spotify, Youtube, Reddit, Zoom, Discord… Des apps dont on peut retrouver pourtant les fonctionnalités en allant sur les sites web concernés.

Oui, je sais, on ne devrait pas utiliser ces apps qui nous enferment et nous font retourner dans un minitel 2.0 où chaque service est cloisonné et une boîte noire.

Pourtant, c’est la réalité d’aujourd’hui.

Et perso j’aime bien avoir une app / fenêtre = un site web spécifique que je peux switch via un alt-tab bien placé ou via ma barre de tâches / dock.

Mais sous Linux, ces webapp n’existent pas ou sont difficiles d’accès.

Madame Michu va vous demander « Mais où je peux regarder Netflix ? » car elle n’a pas l’habitude d’aller sur le site web de Netflix après avoir lancé un navigateur pour accéder au service.

Et dans un sens, pourquoi les webapp ne pourraient pas être considérées comme des applications à part entière plutôt que d’être reléguées au rang de seconde zone ?

Parce que dans les faits, sous Windows ou macOS, quand Madame Michu veut aller sur Netflix, elle l’ajoute via l’App Store de son OS, ce qui lui paraît totalement logique.

Mais sous Linux non.

Solution

Proposer de simple apps pour certaines webapps. Un Firefox ou un Chromium qui fait tourner que Netflix. A l’heure où on a des ordinateurs de fous ça ne semble plus si déconnant. Mettre ces apps sur le store de la distribution (ou Flathub à la limite) aiderait énormément Linux à se démocratiser encore plus.

Mais comme on en est pas encore là, ma solution c’est d’utiliser l’extension Firefox Progressive Web Apps qui rétablit une fonctionnalité supprimée par Mozilla (encore une superbe idée de leur part.) En gros grâce à cette extension et l’installation d’un package selon votre distribution, vous allez pouvoir créer des apps, qui s’ajoutent donc à votre applications, à partir de sites web. Je l’utilise par exemple pour :

  • Netflix
  • Twitch
  • Mastodon
  • Bluesky
  • Homebridge
  • etc.

Codec non géré mon cul oui.

Problème

Ce n’est pas ce que vous croivez.

En fait c’est assez simple et précis : j’étais parti pour mater une vidéo qui contenait des sous-titres sous je ne sais plus quel format (j’ai déjà oublié) via l’app Vidéos de Gnome. Or, je me suis retrouvé avec une superbe boîte de dialogue « Codec ‘xxx’ non géré ». Il y avait un bouton pour aller chercher le codec manquant (qui est en fait juste un format de sous-titres, pas un codec) dans les dépôts de Fedora. Hélas, mille fois hélas, ça n’a rien donné. L’intention est bonne mais quand Madame Michu arrive sur une voie sans issue comme ça, elle râle et peste contre le logiciel et ça donne une mauvaise image de Linux.

Solution

C’est pas un problème d’UX évident à résoudre.

Pour moi y’aurait probablement pas eu de souci si mpv était utilisé comme base pour « Vidéos » (en vrai peut-être que c’est le cas je n’en sais rien) puisque mpv est capable de tout lire. Mais surtout, la modale est un peu trop intrusive alors qu’une notification toast aurait probablement fait l’affaire. Probablement. Je veux dire, on parle de sous-titres, pas de vidéo ou de son, qui là effectivement, ça rendrait l’appréciation de la vidéo un peu délicate.

Bref, c’est ce genre de petites expériences qui rendent parfois Linux un peu effrayant.

Les plantages complets de Gnome

Problème

J’en vois dans le fond de la salle sourire à pleines dents.

Parce qu’en 2024, il est encore tout à fait possible de planter Gnome. Je veux dire, vraiment le planter tellement fort qu’une sorte d’écran de la mort vous invite cordialement à jeter tout votre travail non sauvegardé au préalable et à fermer votre session pour la rouvrir.

PARDON ?

Non mais allo quoi. Qui s’est dit que ce genre de chose était acceptable ?

En plus dans mon cas la touche Windows/Super du clavier fonctionnait encore et je pouvais appeler l’overlay Gnome pour changer d’app. Même chose avec alt+tab. Sauf qu’une fois sur l’app dont je voulais sauvegarder le travail, le fameux « écran de la mort de Gnome » recouvrait l’app. Supayre.

Il paraît que c’est mieux qu’avant où ça fermait tout sans rien dire et ça retournait à l’écran de login. Hi hi.

Quand explorer.exe plante sous Windows il emporte pas tout avec lui. Il se relance tout seul même. Et au pire on se retrouve sans menu démarrer qu’on peut relancer en appuyant sur ctrl+alt+suppr pour appeler le gestionnaire de tâches et lancer explorer.exe manuellement. Et qu’on ne me sorte pas des vannes sur les BSOD de Windows : ils sont de plus en plus rares depuis Windows 7 et 10, et sont causés dans 99% des cas par des drivers éclatés au sol ou du matos défaillant (et là vous avez d’autres soucis à gérer je pense.

Quand macOS plante… ouais bon OK j’ai jamais vu le système de fenêtres de macOS planter, juste des kernel panic et là on peut pas y faire grand chose.

Quand Kwin (KDE) plante bah il se relance tout seul en fait ? Comme un grand.

Non, franchement.

Ca me turbo-fume que Gnome puisse planter d’une telle violence. Et le pire c’est que j’ai réussi à le reproduire en malmenant une extension Gnome. Extension que je me suis senti obligé d’installer car je voulais un dock. Parce que Gnome a voulu imposer la simplicité et proposer un système d’extensions pour ceux qui sont pas contents. Mais du coup le système d’extensions semble pas autant au point que, disons, les widgets ou les panels KDE. La vision de Gnome est peut-être pas si mal mais peut-être aussi un peu extrème.

Solution

Ben faudrait mieux gérer les plantages de Gnome et essayer d’être un peu plus « graceful » quand y’a un problème parce que c’est vraiment un truc que je m’explique pas.

Ca dépasse l’entendement comme dirait l’autre.

Conclusion

Oui on arrive déjà à la conclusion de cet article sur lequel j’ai beaucoup tapé sur Linux, et j’espère, à raison.

J’aime beaucoup Linux. J’aime bien Gnome et KDE. J’aime beaucoup le libre et sa philosophie. J’aime les développeurs qui font ça gratuitement et sur leur temps libre.

Mais c’est aussi parce que j’aime tout ça que ça me fait turbo chier que Linux, en 2024, bute encore sur des obstacles pareils. L’UX c’est pas évident mais j’adorerais proposer Linux à mon entourage. A mes potes de LAN qui jouent sur leur ordinateur entre autres choses. A ma famille qui… fait des trucs de famille. Bref j’adorerais propager la bonne parole, mais quand je vois que déjà moi je me prends la tête des heures pour partager des fichiers, j’imagine pas la détresse dans laquelle un néophyte peut se retrouver en voulant faire quelque chose de simple.

Parce que l’ordinateur, l’informatique doivent être des outils pour tous. On ne doit laisser personne de côté, même ceux qui ne veulent pas faire d’effort. En faisant du gatekeeping, de l’élitisme, en dénigrant ceux qui voient l’informatique comme un simple outil, on oublie un peu vite qu’avant nous il y a eu la génération qui ont grandi avec l’industrie automobile et savent comment marche un moteur ou comment le réparer. Ce sont les mêmes qui vont vous dénigrer parce que vous savez pas comment une voiture fonctionne. Bah ouais, c’est pareil ici ou presque. Dans tous les cas vous aurez j’espère capté l’analogie.

Moi avant de retourner sous Linux, j’attends que Wayland ça marche correctement avec ma carte Nvidia, parce que bah pour l’instant c’est pas ouf. Et en attendant je pourrai toujours pas recommander à tous Linux, hors d’un système immutable et contrôlé comme le Steam Deck et son SteamOS.

J’aurais juste aimé qu’on me dise pas que j’ai acheté la mauvaise carte graphique (à ~600€) parce que c’est totalement le genre de message qui fout quelqu’un de mauvais poil et ça participe pas à rendre le monde Linux accueillant.

Ce qui est bien dommage mais heh.