PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

antistress : Au revoir Debian, bonjour Debian avec Flatpak (mise à jour)

samedi 18 juin 2022 à 17:23

Des rangées de cartons de produits plats d'un magasin Ikea

J'avais évoqué, à l'occasion de la sortie de Debian 9 Stretch, la combinaison Debian Stable + Flatpak, que je déclarais gagnante sur le papier… Il est temps de passer à la pratique !

Ce billet, initialement rédigé le 10 juin 2019, est régulièrement mis à jour.

Sommaire

  1. Pourquoi Flatpak ?
  2. Comment Flatpak ?
  3. Compte-rendu de mon expérience de flatpak-isation de ma Debian Testing
  4. Prochaine étape : généralisation de Flatpak & Wayland, mise au placard de X.Org

Pourquoi Flatpak ?

Déjà précisons que ma machine tourne sous Debian GNU/Linux Testing avec GNOME-Wayland.

Je vois plusieurs avantages à Flatpak, que je vous présente par ordre d'intérêt décroissant :

Les deux derniers points ne concernent toutefois pleinement que ceux des Flatpak qui ont été générés par les développeurs de l'application eux-mêmes, nous y reviendrons.

J'ai eu l'occasion de me frotter à Flatpak pour la première fois lors de mes tests de la version de développement de Pitivi (logiciel de montage vidéo pour GNOME) pour lesquels la version Flatpak du logiciel est recommandée (notamment parce que, étant générée par les développeurs du logiciel eux-mêmes, elle permet à l'utilisateur de faire tourner exactement la même version que les développeurs, ce qui facilite le débogage).

Comment Flatpak ?

Vous avez le choix entre la ligne de commande ou une interface graphique.

Pour ce qui est de comprendre les bases du fonctionnement de Flatpak en ligne de commande, je vous renvoie aux premières pages de ce manuel, et aux nombreux tutos disponibles sur la Toile.

Si vous préférez une interface graphique, la logithèque de GNOME vous permettra d'installer de manière transparente aussi bien de paquets .deb que de paquets Flatpak (sous Debian, installer pour cela le paquet gnome-software-plugin-flatpak).

Pour certains paquets Flatpak installés via la Logithèque de GNOME, l'interface était restée en anglais. J'ai donc dû installer les traductions du logiciel en ligne de commande (ajouter « .Locale » à la fin de l'identifiant du logiciel pour installer ses traductions. Le problème serait réglé avec les versions 3.32 ou suivantes de la Logithèque.

Il existe un dépôt central, Flathub, qui héberge un grand nombre d'applications. C'est d'ailleurs là-bas, à la page du logiciel concerné, que je récupère l'identifiant Flatpak des logiciels qui m’intéressent (l'identifiant peut aussi être récupéré avec la commande $ flatpak search nom-de-l'application). Attention, toutes les applications qui y figurent ne sont pas libres. C'est la raison pour laquelle, sur un certain nombre de distributions, ce dépôt n'est pas configuré par défaut. Il faudra donc l'ajouter ainsi : $ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo.

Au sujet de Flathub, j'ai découvert que certains paquets Flatpak sont préparés par les développeurs de l'application (directement du producteur au consommateur, pourrait-on écrire), comme LibreOffice, GIMP, Pitivi ou encore Firefox, tandis que d'autres, comme Audacity, Avidemux, Thunderbird, Transmission ou VLC media player sont générés indépendamment de leurs développeurs. Dans tous les cas, il ne s'agit pas des développeurs de votre distribution (d'où le titre de ce billet), ce qui est un changement de paradigme dans la distribution des logiciels sous GNU/Linux.

Compte-rendu de mon expérience de flatpak-isation de ma Debian Testing

Sans plus attendre, voici les paquets deb que j'ai choisi de remplacer par leur équivalent Flatpak, et les éventuels problèmes auxquels j'ai été confronté (en gras, les plus gênants).

Les noms des Flatpak qui sont générés par les développeurs de l'application eux-mêmes figurent en vert et sont affublés de l'étiquette « [Flatpak officiel] ». Les carrés rouges-violets-verts signalent d'un coup d’œil les applications qui fonctionnent péniblement-correctement-bien.

🟩 Audacity (application native Wayland, basée sur wxWidgets 3) : Pas de problème.
🟩 Avidemux (application native Wayland, basée sur Qt) : Tout semble ok (je me retrouve avec un choix de codecs un peu plus réduit via Flathub que via le dépôt deb-multimedia.org mais bon : osef). Les deux bogues (#3 et #8) que j'avais ont été réglés depuis. À noter aussi que le runtime de KDE (KDE Application Platform) est installé dans le cas de la version Flatpak, alors que j'avais juste des dépendances à Qt via le dépôt deb-multimedia.org : c'est inévitable pour limiter les efforts de maintenance à trois runtimes : freedesktop, GNOME et KDE.
🟩 Calibre (application native Wayland, basée sur Qt) : Tout semble ok (mais je ne l'utilise pas, je l'ai installée au cas où).
🟩 Déjà Dup [Flatpak officiel] (application native Wayland, basée sur GTK+3 ou supérieur) : Tout semble ok.
🟩 EasyTAG (application native Wayland, basée sur GTK+3) : Tout semble ok (mais je ne l'utilise pas, je l'ai installée au cas où. À noter que le logiciel n'est plus maintenu en tant que tel, seul le paquet Flatpak l'est).
🟪 Evince [Flatpak officiel] (application basée sur GTK+3 ou supérieur) : Je ne l'ai pas installé car, sur ma distribution, le paquet evince dépend du paquet gnome-core que je souhaite garder pour maintenir une cohérence à mon système, et aussi bénéficier automatiquement de tout nouveau logiciel qui pourrait être ajouté en dépendance de gnome-core au fur et à mesure des développements du bureau GNOME.
🟩 Extensions [Flatpak officiel] (application native Wayland, basée sur GTK+3 ou supérieur) : La nouvelle application de GNOME 3.36 pour gérer ses extensions, et qui se charge de les mettre à jour automatiquement au démarrage du système.
🟪 FileZilla (application native Wayland, basée sur wxWidgets 3) : Tout semble ok, sauf la possibilité d'ouvrir des fichiers dans des applications tierces (rapport de bogue).
🟥 Firefox [Flatpak officiel] (application X11 par défaut, basée sur Web Components, qui peut être configurée en native Wayland en réglant la variable d'environnement comme il faut) : Version stable ou bêta, au choix – mais pas les deux – et en attendant les déclinaisons Nightly et Developer Edition. On patientera toutefois jusqu'à ce que ce bogue d'affichage des polices soit réglé pour basculer son profil.
🟩 Frozen Bubble (application X11, basée sur SDL) : Tout semble ok !
🟩 GIMP [Flatpak officiel] (application encore en GTK+2 donc X11 exclusivement) : Outre la dernière version stable qui est proposée en Flatpak, la future version (tirant partie de GTK+3) peut aussi être testée ainsi. Pas de problème particulier semble t-il pour GIMP, à moins que vous n'utilisiez des greffons. Pour ma part, j'avais l'habitude d'installer le paquet deb gimp-plugin-registry (qui fournit notamment le greffon "Save for Web" que j'affectionne) en même temps que la version deb de ce bon vieux GIMP, mais gimp-plugin-registry n'est pas proposé sur Flathub. J'ai donc dû retourner un peu le web et j'ai appris (mieux vaut tard que jamais !) que GIMP propose un système manuel d'installation des greffons ! D'ailleurs, je me souviens maintenant que Jehan a, de longue date, un plan pour améliorer la gestion des extensions dans GIMP. En attendant le résultat de ce travail, j'ai dû compiler le greffon "Save for Web" en suivant les instructions présentes dans l'archive officielle. L'exécutable webexport est alors copié dans /home/mon_user/.config/GIMP/2.10/plug-ins/ (à noter que normalement il faudrait le déplacer manuellement dans /home/mon_user/.var/app/org.gimp.GIMP/config/GIMP/2.10/plug-ins/ pour coller à l'organisation spécifique de Flatpak, mais il y a une difficulté à régler – rapport de bogue). À noter également que je n'ai pas réussi à franciser le greffon. Mise à jour du 18/10/20 : avec la sortie de GIMP 2.10.22 vient la possibilité de récupérer des greffons sous forme d'extensions Flatpak :) Mais pas "Save for Web".
🟩 LibreOffice [Flatpak officiel] (application native Wayland, basée sur VCL) : Tout semble ok. Petit détail : le menu Outils->Options est très long à se lancer (plus de 5 secondes à attendre) (rapport de bogue).
🟩 Liferea [Flatpak officiel] (application native Wayland, basée sur GTK+3 ou supérieur) : Pas de problème.
🟥 Machines (alias Boxes) [Flatpak officiel] (application native Wayland, basée sur GTK+3 ou supérieur) : La version Flatpak ne permet pas à ce jour à vos machines virtuelles d'accéder à vos disques USB : cela demande d'ajouter préalablement à Flatpak un portail ad hoc (rapport de bogue).
🟩 Pitivi [Flatpak officiel] (application native Wayland, basée sur GTK+3 ou supérieur) : Aucun problème, et vous pouvez choisir votre version : la stable ou une des deux en développement.
🟥 Rhythmbox (application basée sur GTK+3 ou supérieur) : Tout semble ok, si ce n'est que, parmi tous mes xdg-user-dirs, seul mon dossier Musique apparaît (rapports de bogue ici et ) et que les CD audio n'apparaissent pas (rapport de bogue). Du coup je reste à la version .deb en attendant la correction de ce bogue.
🟩 Scribus (application native Wayland, basée sur Qt) : Semble fonctionner correctement à part ce bogue concernant un problème d'affichage du menu « Formes » avec le thème Adwaita qui est en passe d'être réglé (il y avait aussi cet autre bogue, qui a été réglé depuis).
🟥 Shotwell [Flatpak officiel] (application native Wayland, basée sur GTK+3 ou supérieur) : Tout semble ok, si ce n'est que, parmi tous mes xdg-user-dirs, seuls mes dossiers Images et Téléchargements apparaissent (rapport de bogue, qui devrait être réglé dans la prochaine version 0.30.17).
🟪 Thunderbird (application X11 par défaut, basée sur XUL, qui peut être configurée en native Wayland en réglant la variable d'environnement comme il faut) : Pas de soucis, à part que je ne peux accéder qu'au dossier Téléchargements en mode natif Wayland, ce qui est frustrant au moment d'attacher un fichier s'il se trouve dans le dossier Documents par exemple (ce bogue pourrait être réglé avec la prochaine version de Thunderbird qui suivra la prochaine ESR de Firefox). Par ailleurs le bogue d'affichage des polices qui affecte Firefox (lire ci-avant) peut se manifester également avec Thunderbird.
🟩 Transmission (application native Wayland, ici dans sa version GTK – v3 ou supérieure) : Tout semble ok !
🟩 Video Downloader [Flatpak officiel] (application native Wayland, basée sur GTK+3 ou supérieur) : Tout semble ok !
🟩 VLC media player (application basée sur Qt, ici en mode X11 par défaut, mais vous pouvez ajouter --socket=wayland au lanceur situé dans /var/lib/flatpak/exports/share/applications/ pour la passer en native Wayland) : Tout semble ok !
🟩 GNOME Web (alias Epiphany) [Flatpak officiel] (application basée sur GTK+3 ou supérieur) : Tout semble ok !

Toutes ces applications peuvent êtres installées dans leur version stable en une ligne de commande : $ flatpak install flathub org.audacityteam.Audacity org.avidemux.Avidemux com.calibre_ebook.calibre org.gnome.DejaDup org.gnome.Epiphany org.gnome.Evince org.gnome.Extensions org.filezillaproject.Filezilla org.mozilla.firefox org.frozen_bubble.frozen-bubble org.gimp.GIMP org.libreoffice.LibreOffice net.sourceforge.liferea org.gnome.Boxes org.pitivi.Pitivi org.gnome.Rhythmbox3 net.scribus.Scribus org.gnome.Shotwell org.mozilla.Thunderbird com.transmissionbt.Transmission com.github.unrud.VideoDownloader org.videolan.VLC.

À la date du 15 avril 2020, il n'y a donc guère que Evince, Firefox et Rhythmbox que j'utilise encore dans leurs versions .deb (pour les raisons sus-mentionnées).

Par ailleurs, certains logiciels que j'utilise ne sont pas (encore ?) sur Flathub : Brasero, DevedeNG, Imagination, MComix. On me fait remarquer que Chromium n'y est pas non plus (mais il y a ungoogled-chromium ;). Notez que, par contre, plein de jeux ou d'émulateurs (ScummVM…), libres ou non, y sont.

En ce qui me concerne, je ne vois que des avantages à utiliser les versions Flatpak de mes logiciels usuels. Et pour celles qui ne fonctionnent pas correctement, et bien, il suffit de rester sur la version fournie par votre distribution en attendant que le problème soit réglé !

Quelques commentaires à ce billet et qui le complètent : Laurent Pointecouteau fait remarquer qu'il y a une discussion quant au fait de mettre en avant les Flatpak « officiels », ted fait remarquer qu'il est difficile de distinguer dans la logithèque GNOME les paquets de la distro des paquets Flatpak, Dragnucs demande s'il est possible de filtrer les logiciels privateurs sur GNOME Software ou flathub.

Prochaine étape : généralisation de Flatpak & Wayland, mise au placard de X.Org

Sur le strict plan de la sécurité, Flatpak n'a véritablement de sens que lorsqu'il est couplé avec Wayland. Et, dès lors que vos applications courantes fonctionnent nativement sous Wayland, il n'est plus utile d'avoir X.Org lancé en permanence en mémoire.

Justement, GNOME 3.34 offre la possibilité, que, dans une session Wayland, GNOME Shell puisse se lancer indépendamment de X.Org (fonctionnalité expérimentale dite « XWayland à la demande »). Et depuis GNOME 40, c'est normalement le cas par défaut.

Un bogue de mutter empêchait toutefois le lancement graphique de certaines applications Flatpak tant que XWayland n'était pas lancé. Ce bogue a été réglé dans mutter 3.38.

L'idéal à présent pour moi serait d'avoir toutes mes applications courantes en version Flatpak et fonctionnant nativement sous Wayland, de manière à ce que X.Org ne tourne plus en permanence.

Côté applications, tandis que les développeurs de GIMP travaillent d'arrache-pied à la version 3 qui consacrera le port vers GTK+ 3 permettant théoriquement le fonctionnement natif sous Wayland, on se rapproche sans doute d'un Firefox upstream tournant nativement sous Wayland à présent qu'une distribution comme Fedora a franchi le pas (dans sa version 33). Pour ce qui est d'avoir un Thunderbird sous Wayland, la volonté semble moins forte, et l'échéance sans doute plus lointaine (en attendant, il faudra/suffit de saisir $ flatpak override --user --env=MOZ_ENABLE_WAYLAND=1 --socket=wayland org.mozilla.Thunderbird pour en profiter [1]). Enfin, s'agissant de VLC, la prise en charge upstream de Wayland pourrait se concrétiser à l'occasion de la sortie de la version 4.


[1] Et pour revenir au mode X11, saisir $ flatpak override --user --env=MOZ_ENABLE_WAYLAND= org.mozilla.Thunderbird.

Gravatar de antistress
Original post of antistress.Votez pour ce billet sur Planet Libre.

Articles similaires