Flatpak, un format de paquets universel
Le logiciel flatpak est un utilitaire (intégré aux logithèques graphiques, ou bien utilisable en ligne de commande) pour la gestion de paquets, le déploiement de logiciels, et l'isolement d'applications (sandboxing).
Il fournit un environnement isolé du reste du système (sandbox), où l'utilisateur peut faire fonctionner des applications de manière sûre :
- le risque pour la stabilité est moindre (les paquets existants ne sont pas modifiés par l'installation des applis) ;
- il n'y a pas de conflits de dépendances (en contrepartie, ça prend plus de place que les paquets des dépôts) ;
- le risque pour la sécurité est moindre : les applications au format Flatpak demandent la permission de l'utilisateur pour accéder au matériel (webcam, clefs USB, …) et aux fichiers de l'utilisateur.
Le projet est mené par freedesktop.org depuis 2014, jadis sous le nom de xdg-app
, le but étant de faciliter la distribution d'applications par des développeurs tiers sur toutes les distributions.
Depuis 2017, beaucoup d'applications populaires commencent à être disponibles au format Flatpak : Blender, Skype, Spotify, LibreOffice, Pitivi, certaines applications KDE, beaucoup d'applications GNOME, beaucoup d'applications elementaryOS, etc.
Les applications récentes en cours de développement actif sont parfois même dans un premier temps disponibles presque uniquement sous forme de Flatpak !
Pré-requis
- Il faut absolument une version d’Ubuntu supérieure ou égale à 16.04.
- Les droits d’administration et une connexion internet sont requis pour l’installation du paquet flatpak lui-même.
- Une connexion à internet est aussi nécessaire pour télécharger les logiciels à installer via flatpak.
Installation de l'utilitaire flatpak
Méthode recommandée (18.04 et plus)
Installez le paquet flatpak depuis les dépôts.
- Le paquet gnome-software-plugin-flatpak (qui n'existe pas pour la version 16.04) permet, optionnellement, de pouvoir gérer les logiciels Flatpak depuis la logithèque GNOME. - Le paquet plasma-discover-flatpak-backend (qui n'existe pas pour la version 16.04) permet, optionnellement, de pouvoir gérer les logiciels Flatpak depuis la logithèque KDE.
Depuis un PPA (pour la version 16.04)
- Ajoutez le dépôt PPA ppa:alexlarsson/flatpak1) dans vos sources de logiciels.
Configuration
Les logiciels Flatpak ne viennent pas des dépôts d'Ubuntu, mais de sites souvent alimentés directement par les développeurs. Il faut configurer ces dépôts avant de pouvoir installer quelque chose.
Voir le tutoriel dédié pour des explications détaillées.
Le principal dépôt de logiciels au format Flatpak est Flathub ; il est explorable en ligne ici sous forme de site web. Pour l'explorer depuis la logithèque ou depuis le terminal, on peut l'ajouter comme une source de logiciels avec la commande :
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Votre logithèque intègrera désormais les programmes disponibles sur ce dépôt.
Utilisation
La commande flatpak
a de nombreuses utilisations possibles (pour le développement et la construction de paquets, pour la gestion avancée de dépôts et des environnements d'exécution, etc.) mais en tant qu'utilisateur, quelques usages en particulier sont à souligner.
man flatpak
ne vous donne pas d'informations directement utiles, mais une liste de sous-pages (flatpak-install, flatpak-update, flatpak-info, etc.) indépendantes.
Faites alors (par exemple) :
man flatpak-run
pour plus d'informations sur le lancement des applications.
Installation de logiciels
Voir le tutoriel dédié.
Une fois les dépôts configurés, on peut installer les logiciels en provenance de Flathub directement depuis la logithèque.
Ou bien, en ligne de commande :
flatpak install nom_du_depot identifiant.du.logiciel
Avec les versions les plus récentes, l'installation peut se faire avec une commande plus simple
flatpak install nom-du-logiciel
La commande d'installation agit alors comme une recherche simplifiée : en fonction des logiciels correspondants dans les dépôts que vous avez configurés, on vous demandera de clarifier quel dépôt utiliser et quel logiciel installer. Par exemple :
flatpak install maps
peut avoir le retour interactif suivant (ici hélas en anglais) :
Looking for matches… Remotes found with refs similar to ‘maps’: 1) ‘flathub’ (system) 2) ‘flathub-beta’ (user) Which do you want to use (0 to abort)? [0-2]: 1 Similar refs found for ‘maps’ in remote ‘flathub’ (system): 1) app/io.github.rinigus.PureMaps/x86_64/stable 2) app/org.gnome.Maps/x86_64/stable Which do you want to use (0 to abort)? [0-2]: 2 org.gnome.Maps permissions: ipc network fallback-x11 wayland x11 dri dbus access [1] system dbus access [2] [1] org.freedesktop.secrets, org.gnome.OnlineAccounts, org.gnome.evolution.dataserver.AddressBook10, org.gnome.evolution.dataserver.Calendar8, org.gnome.evolution.dataserver.Sources5, org.gnome.evolution.dataserver.Subprocess.Backend.* [2] org.freedesktop.GeoClue2, org.freedesktop.NetworkManager ID Branch Op Remote Download 1. org.gnome.Maps.Locale stable i flathub < 11,7 MB (partial) 2. org.gnome.Maps stable i flathub < 5,7 MB Proceed with these changes to the system installation? [Y/n]: y
Il s'agit d'un exemple pour illustrer qu'avec la syntaxe simplifiée, la commande a toujours besoin de connaître le dépôt et l'identifiant exact du logiciel, mais le cas présenté est intentionnellement plus bavard que la moyenne.
Lancement de logiciels
Les logiciels apparaissent avec les autres dans vos menus, normalement.
Vous pouvez aussi les lancer via le terminal avec la commande suivante :
flatpak run identifiant.du.logiciel
Mise à jour des logiciels
Les logiciels en format Flatpak sont mis à jour de la même manière que les autres par la logithèque (onglet "Mises à jour").
Pour mettre à jour manuellement les applications en ligne de commande :
flatpak update
Désinstallation de logiciels
Les logiciels en format Flatpak peuvent être désinstallés de la même manière que les autres par la logithèque (onglet "Installées").
Une application au format flatpak peut être aussi retirée avec la commande
flatpak uninstall identifiant.du.logiciel
Pour supprimer les dépendances obsolètes c'est l'option –unused à coupler avec uninstall
flatpak uninstall --unused
Exemple :
ID Branch Op 1. [-] org.freedesktop.LinuxAudio.LadspaPlugins.swh 19.08 r 2. [-] org.freedesktop.Platform.GL.default 19.08 r 3. [-] org.freedesktop.Platform.GL.nvidia-440-100 1.4 r 4. [-] org.freedesktop.Platform.GL.nvidia-450-66 1.4 r 5. [-] org.freedesktop.Platform.GL.nvidia-450-80-02 1.4 r 6. [-] org.freedesktop.Platform.GL.nvidia-455-38 1.4 r 7. [-] org.freedesktop.Platform.GL.nvidia-455-45-01 1.4 r 8. [-] org.freedesktop.Platform.VAAPI.Intel 19.08 r 9. [-] org.kde.Platform 5.14 r 10. [-] org.kde.Platform.Locale 5.14 r Uninstall complete.
Fichiers de configuration
Les fichiers de configuration des logiciels installés ne sont pas dans les répertoires "classiques" ~/.config ou ~/.local, ils sont dans ~/.var
Problèmes rencontrés
Lanceurs et icônes
Les icônes et fichiers .desktop
des applications Flatpak ne se trouvent pas dans /usr/share/
comme d'habitude, mais dans /var/lib/flatpak/exports/share/
.
Il est alors probable que vos thèmes d'icônes et certains utilitaires de paramétrage des menus ne soient pas en mesure de gérer ce fonctionnement.
Thème
Les versions de Flatpak antérieures à mi-2017 ne prennent pas en compte le thème de l'utilisateur, et n'autorisent donc que le thème Adwaita (ou Adwaita-dark).
La solution à ce problème n'existe que dans les versions de Flatpak postérieures à mi-20172).
Pour les versions plus récentes, référez-vous au paragraphe dédié du tutoriel d'installation.
Désinstallation
Pour supprimer la prise en charge des applications au format flatpak, il suffit de supprimer le paquet flatpak
.
Si vous l'aviez ajouté (version 16.04 seulement), n'oubliez pas de retirer le PPA après désinstallation.