icône Flatpak

Flatpak, un format de paquets universel

Flatpak est un système libre et communautaire pour la gestion de paquets, le déploiement de logiciels, et l'isolement d'applications (sandboxing). Il peut être intégré aux logithèques graphiques, ou utilisable en ligne de commande.

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 directement par leurs développeurs sur toutes les distributions.

Flatpak permet aujourd'hui aux utilisateurs Linux d'accéder à un immense catalogue d'applications, et d'installer et de faire fonctionner chacune d'entre elles de manière sûre et facilitée :

  • Le risque d'instabilité est moindre (les applications et leurs bibliothèques étant isolées, leur installation n'a pas d'effet sur le système).
  • Il n'y a plus de conflit de dépendances, chaque application étant livrée indépendamment avec ses bibliothèques.
  • Le risque pour la sécurité et la fuite de données privées est extrêmement réduit : chaque application Flatpak est isolée dans son "bac à sable" et requiert si nécessaire la permission de l'utilisateur pour accéder au matériel (webcam, clefs USB, …) et aux fichiers personnels.
  • Flathub, le dépôt le plus populaire, propose des milliers d'applications1), et leur soumission est soigneusement supervisée afin d'éviter l'introduction de logiciel malveillant. Ce dépôt unique permet aussi d'éviter la multiplication des risques comme c'est le cas avec l'ajout de PPAs individuels.
  • La distribution d'applications pour toutes les distributions étant grandement simplifiées pour les développeurs, sans avoir recours aux mainteneurs de celles-ci, une bien plus grande quantité d'applications est disponible, partout, et plus rapidement (dans leurs dernières versions).

Inconvénients, en particulier par rapport au format deb :

  • Le démarrage des applications peut s'avérer un peu plus lent.
  • L'espace de stockage exploité par les applications avec leurs dépendances individuelles est plus important.
  • L'isolement en bac à sable requiert parfois de donner manuellement certaines permissions aux applications pour autoriser certaines de leurs fonctions, ce qui peut induire une complexité supplémentaire (mais qui est une fonctionnalité de sécurité).

Depuis 2017, beaucoup d'applications populaires ont été rendues disponibles au format Flatpak : Blender, Skype, Spotify, LibreOffice, Pitivi, certaines applications KDE, beaucoup d'applications GNOME, beaucoup d'applications elementaryOS, etc. On y trouve aussi des applications propriétaires pour Linux, comme Zoom ou Teams.

Flatpak avec Flathub est ainsi devenu le canal privilégié, et parfois exclusif2) de nombreux développeurs et éditeurs, qui peuvent distribuer en un seul paquet leurs logiciels sur toutes les distributions Linux, en ayant la main sur l'environnement et les dépendances.

Installation de l'utilitaire Flatpak

Pour utiliser Flatpak il faut installer le paquet flatpak.

Ajout du dépôt Flathub

Les logiciels Flatpak ne viennent pas des dépôts de Canonical (qui développe et favorise snap, et fournit et promeut snapcraft), mais d'autres dépôts communautaires ou privés. Il faut référencer les dépôts qui nous intéressent avant de pouvoir installer quoi que ce soit.

Flathub est le dépôt principal, et de facto standard : il est maintenu par la communauté et fournit l'énorme majorité des applications disponibles en Flatpak. On peut explorer celles-ci en ligne sur le site Internet, mais pour l'intégrer à l'utilitaire Flatpak et lister et gérer ses applications avec un gestionnaire, il faut ajouter la source Flathub avec cette commande :

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Pour installer d'autres dépôts, voir le tutoriel dédié à l'installation des dépôts Flatpak.

Pour pouvoir gérer les applications Flatpak (autrement que par la ligne de commande), vous pouvez à présent configurer ou installer une logithèque (une application permettant d'installer et gérer les autres applications).

Il existe plusieurs logithèques pour gérer les Flatpak. Malheureusement le Centre d'applications (Snap Store) installé par défaut sur Ubuntu (GNOME) n'en fait pas partie.
Pour explorer et gérer les applications Flatpak graphiquement sur Ubuntu on doit donc installer une de ces applications au choix (ou toutes ensemble si le cœur vous en dit !).

Elles gèrent les applications exactement de la même manière que la commande flatpak (toutes les méthodes sont compatibles et interchangeables).

GNOME Logiciels

En plus de la gestion des paquets deb / APT, GNOME Logiciels dispose d'une extension pour gérer les logiciels Flatpak.
Pour en profiter il faut simplement installer le paquet gnome-software-plugin-flatpak.

GNOME Logiciels intégrera désormais les programmes disponibles sur les dépôts Flatpak configurés (mais pas le Centre d'applications, développé par Canonical, qui n'implémente pas Flatpak et ne les affichera pas).

Discover

Plasma Discover (la logithèque KDE) dispose aussi d'une extension pour gérer les logiciels Flatpak. Pour en profiter il suffit d'installer le paquet plasma-discover-flatpak-backend.

Warehouse

Warehouse est une logithèque Flatpak proposée elle-même en Flatpak par ses développeurs sur le dépôt Flathub.

Warehouse, page applications

Malgré une interface très simple et sobre (qui suit l'ergonomie de GNOME), Warehouse dispose de fonctionnalités impressionnantes :
en plus des traditionnelles recherches, descriptions, installation et désinstallation des applications, il permet de gérer les dépôts (il propose des dépôts populaires), de visualiser toutes les applications installées en Flatpak, ainsi que les données utilisateurs qui y sont associées et l'espace de stockage qu'elles utilisent, ou encore de créer des instantanées (snapshots) de n'importe quel container (bac à sable). Ceci permet de sauvegarder l'état d'une application, quelle qu'elle soit, à un instant donné, et de restaurer cet état à volonté.

Pour installer Warehouse, après avoir installé Flatpak avec le dépôt Flathub, installer le paquet io.github.flattool.Warehouse, soit en ligne de commande :

flatpak install io.github.flattool.Warehouse

Easy Flatpak

Easy Flatpak3) est aussi disponible sur le dépôt Flathub.

Il permet de naviguer dans les applications par catégorie, de visualiser et d'exporter la liste des applications installées, et évidemment de gérer celles-ci. Il propose quelques bundles d'applications pour différentes activités.

On peut donc l'installer après avoir installé Flatpak avec le dépôt Flathub en installant le paquet org.dupot.easyflatpak, soit en ligne de commande :

flatpak install org.dupot.easyflatpak

Bauh

Bauh est une autre logithèque, qui gère aussi bien Flatpak que snap, deb / APT (le format natif d'Ubuntu), AppImage, des applications web et autres…

Bauh possède sa page de documentation dédiée.

Fichiers de configuration

Les fichiers de configuration des logiciels installés ne sont pas déployés dans les répertoires habituels ~/.config ou ~/.local, mais sont par défaut confinés dans ~/.var.

Configuration et permissions des applications

Les applications étant isolées (sandboxées) on peut gérer finement leurs permissions d'accès à chaque élément du système, ainsi que définir des variables d'environnement spécifiques pour chacune.

Ceci peut se faire en ligne de commande (généralement avec la commande flatpak override) mais le plus accessible est sans aucun doute l'application Flatseal qui est elle-même distribuée en Flatpak et propose une interface graphique extrêmement pratique et complète pour la gestion de chaque application :4)

Flatseal, réglage des défauts pour toutes les applications

Dans la colonne de gauche sont listées les applications installées. Cliquer sur l'application concernée pour accéder à ses paramètres et autorisations.
Le premier élément, nommé Toutes les applications en français, concerne le réglage des défauts pour toutes les applications. Ces paramètres sont écrasés si un autre est défini spécifiquement pour une application.

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.

Pensez au manuel de la commande pour plus d'informations. Attention, 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é.

  • Soit directement à partir du site Flathub (ce site est également un magasin d'application).
  • Soit à partir de Gnome Software (si le plugin logithèque a bien été installé). Les logiciels flatpak y sont mélangés avec les logiciels au format .deb. On peut les reconnaître sur la page du logiciel : la zone source indique le dépôt : dl.flathub.org pour flathub, par exemple.
  • Soit en ligne de commande :
    flatpak install identifiant.du.logiciel

    par exemple :

    flatpak install warpinator

Le premier logiciel que vous installerez sera peut-être long à installer car le système téléchargera un environnement d'exécution, qui pourra être réutilisé par les logiciels en format Flatpak installés par la suite.

Si plusieurs dépôts ont été ajoutés au système (ou qu'on y trouve plusieurs versions - beta et stable), les différents choix sont présentés, et vous choisissez celui qui vous convient. Par exemple :

flatpak install maps
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

Le cas présenté est intentionnellement plus bavard que la moyenne.

Avec les versions plus anciennes de Flatpak, l'installation devait préciser le dépôt du logiciel :

flatpak install dépôt nom-du-logiciel

Mais l'actuelle version de Flatpak se débrouille pour trouver par le seul nom du logiciel, quitte à vous proposer un choix si plusieurs options sont trouvées.

Connaître les logiciels installés

Au terminal, entrez :

flatpak list

Lancement d'application

Les applications apparaissent avec les autres dans vos menus, normalement.
Toutefois sur certains environnements autres que GNOME la mise à jour de la liste des logiciels peut nécessiter un redémarrage du système. Le lancement via flatpak run permet de contourner cette nécessité de redémarrage lors des installations fraîches vous pourrez utiliser votre application sans attendre qu'elle s'inscrive dans la liste des applications lancées en mode graphique.

flatpak run permet aussi d'afficher des informations sur l'exécution de l'application dans le terminal, utile en cas de problème.

Cela se fait avec la commande suivante :

flatpak run identifiant.du.logiciel
Entrez flatpak run + la première lettre du nom complet du logiciel, et utilisez tabulation pour voir les noms exacts des applications installées correspondantes
Avec flatpak list vous pouvez obtenir la liste des application installées avec leur nom complet (en colonne Application ID)
En faisant suivre flatpak run nom.complet.application & du signe & vous pouvez continuer à utiliser le terminal sans interrompre l'exécution de l'application qui fonctionnera en arrière-plan tant que le terminal sera ouvert.

Mise à jour des logiciels

Les logiciels au 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 au 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, lancer la commande uninstall avec l'option --unused :

flatpak uninstall --unused

Accès aux stockages tiers

Si une application ne parvient pas à accéder aux fichiers présents sur un stockage externe, il faut l'y autoriser. Il s'agit d'une politique de sécurité par défaut des applications Flatpak.

On peut l'y autoriser soit eu moyen de Flatseal, soit en ligne de commande.

Dans l'interface de Flatseal cliquer dans la colonne de gauche sur l'icône de l'application en question, puis à droite faire défiler jusqu'à Filesystem (liste des sous-ensembles du système de fichiers disponible pour l'application), et activer l'interrupteur à droite de Tous les fichiers du système.

Ou en ligne de commande :

flatpak override id.de.l.application --filesystem=host

id.de.l.application est à remplacer par l'identifiant correct de l'application.

L'application aura ainsi accès à l'ensemble des fichiers du système.

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 pourrait arriver que certains environnements de bureau 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-20175).

Pour les versions plus récentes, référez-vous au paragraphe dédié du tutoriel d'installation.

Problème lors de l'enregistrement ou l'accès à un secret

Certains Flatpak utilisent le D-bus org.freedesktop.secrets pour gérer des mots de passe ou des clés secrètes. Il faut dans ce cas leurs y autoriser l'accès manuellement. Pour ce faire on peut utiliser Flatseal, ou en ligne de commande :

sudo flatpak override --talk-name=org.freedesktop.secrets id.de.l.application
  • id.de.l.application est à remplacer dans cette commande par l'identifiant correct de l'application.

L'application se ferme peu après avoir été ouverte

  1. Installer Flatseal.
  2. Sélectionner l'application incriminée.
  3. Activer l'option "peut fonctionner en arrière-plan".

Si cela ne résout pas le problème, lancez l'application en ligne de commande avec flatpak run, un message d'erreur devrait s'afficher. Si celui-ci n'est pas éloquent, n'hésitez pas à demander de l'aide sur le forum !

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.

Si vous désirez simplement retirer flathub mais que vous voulez toujours pouvoir profiter de vos applications installées, référez-vous plutôt à la section dédiée du tutoriel détaillé.

Tutoriels

Dépôts

Alternatives


  • flatpak.txt
  • Dernière modification: Le 11/10/2025, 01:54
  • par krodelabestiole