Gérer les applications avec Flatpak
Le système Flatpak permet la distribution et le déploiement d'applications de bureau sur ordinateur personnel. Il fournit un environnement isolé du reste du système (sandbox), grâce auquel l'utilisateur peut faire fonctionner ces applications de manière sécurisée.
Les paquets Flatpak fonctionnent sur toutes les distributions Linux, et on trouve de très nombreuses applications sur le dépôt principal (Flathub). Certaines ne sont d'ailleurs disponibles que dans ce format.
Cette page explique comment gérer ses applications Flatpak.
Pré-requis
Les applications Flatpak ne sont malheureusement pas accessibles depuis le centre d'applications.
Le gestionnaire de paquets Flatpak n'est pas installé sur Ubuntu par défaut, mais il est simple à ajouter.
En résumé :
- Installer le dépôt flathub :
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- Si vous désirez lister et gérer les applications Flatpak dans une logithèque :
- Voir aussi le chapitre Logithèques, pour d'autres interfaces dédiées.
Installation d'applications
En fonction de ce que vous avez installé au chapitre précédent, plusieurs méthodes permettent d'installer une application Flatpak.
- GNOME Logiciels permet de chercher et installer une application. Si celle-ci existe dans différentes versions (par exemple Flatpak et deb), on peut sélectionner le format de son choix dans un menu déroulant situé sous le bouton Installer (il arrive aussi que certaines versions mal gérées apparaissent comme différentes applications, avec le même nom).
Ce menu permet aussi de choisir entre une installation au niveau système, ou dans l'espace utilisateur, sans requérir les permissions administrateur – voir Niveaux de privilèges.
- La Logithèque Flathub dispose de sa propre logithèque en ligne : ce site est également un magasin d'application. Il suffit de chercher l'application puis de cliquer sur le bouton Installer pour l'installer, depuis le navigateur Web.
- En ligne de commande, depuis un terminal :
Commande flatpak
Cependant man flatpak ne donne pas les informations les plus utiles, mais une liste de sous-pages indépendantes (flatpak-install, flatpak-update, flatpak-info, etc. correspondant à des sous-commande).
La commande flatpak permet de gérer les applications, en proposant plusieurs sous-commandes, dont flatpak install pour en installer une :
flatpak install id.de.l.application
où id.de.l.application est l'identifiant complet de l'application, ou seulement le nom ou un bout du nom de de celle-ci (voir ci-dessous).
Par exemple :
flatpak install org.gnome.Lollypop
On peut installer plusieurs applications en une commande :
flatpak install com.uploadedlobster.peek com.valvesoftware.Steam
Avec les versions plus anciennes de flatpak, il était nécessaire de préciser le dépôt du logiciel :
flatpak install dépôt nom-du-logiciel
L'actuelle version de flatpak se débrouille pour trouver les correspondances par le seul nom du logiciel.
En outre quand on ne connaît pas l'identifiant complet de l'application, entrer seulement son nom suffit généralement : le terminal propose une liste des correspondances disponibles. Une même application peut aussi être présentée en plusieurs versions, par exemple une version de test (beta) et une version stable (sauf cas particuliers, privilégiez toujours les dernières versions stables).
La sous-commande flatpak search permet de rechercher une application dans les dépôts disponibles.
Par exemple :
flatpak search lollypop
pour rechercher une application appelée lollypop.
Quelques exemples d'identifiants d'applications parmi les plus populaires sur Flathub :
| Identifiant complet | Application |
|---|---|
org.videolan.VLC | lecteur multimédia VLC |
com.brave.Browser | navigateur Brave |
org.libretro.RetroArch | émulateur RetroArch |
com.github.tchx84.Flatseal | gestionnaire de permissions Flatpak Flatseal |
com.usebottles.bottles | gestionnaire d'applications Windows Bottles |
net.lutris.Lutris | gestionnaire de jeux Lutris |
com.heroicgameslauncher.hgl | gestionnaire de jeux Heroic Games Launcher |
om.valvesoftware.Steam | gestionnaire de jeux Steam |
org.telegram.desktop | client de messagerie instantanée Telegram |
com.discordapp.Discord | client de visioconférence Discord |
com.spotify.Client | client audio Spotify |
Les runtimes
Pour s'exécuter, certaines applications qu'on installera auront besoin d'un runtime (routine d'environnement d'exécution). Ne soyez pas donc surpris si lors de l'installation d'une nouvelle application, une confirmation vous est demandée pour l'installation d'un environnement d'exécution. Celle-ci est automatique, et ne requiert donc rien d'autre qu'une approbation.
Lister les application installées
En ligne de commande on utilise la commande flatpak list :
flatpak list
/var/lib/flatpak/app/ et les applications installées pour l'utilisateur courant dans son répertoire personnel, sous ~/.local/share/flatpak/app/.
Lancer une application
Les applications apparaissent avec les autres dans le menu des applications.
Toutefois sur certains environnements autres que GNOME, la mise à jour de la liste des logiciels peut nécessiter un redémarrage de la session utilisateur.
Via le terminal, on utilise la commande flatpak run :
flatpak run id.de.l.application
Cette commande permet de contourner la nécessité de redémarrage lors des installations fraîches, et d'utiliser l'application sans attendre qu'elle s'inscrive dans le menu des applications.
flatpak run permet aussi d'afficher des informations sur l'exécution de l'application dans le terminal, utile en cas de problème.
flatpak run + la première lettre du nom complet du logiciel, et utilisez tabulation pour voir les noms exacts des applications installées correspondantes
flatpak list vous pouvez obtenir la liste des application installées avec leur nom complet (en colonne Application ID)
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.
Configuration
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, avec la commande flatpak override, mais le plus accessible est sans aucun doute l'application Flatseal :
Flatseal
Flatseal est lui-même distribué en Flatpak sur Flathub, et propose une interface graphique extrêmement pratique et complète pour la gestion de chaque application, de ses permissions et de son "bac à sable".1)
Après avoir installé Flatpak avec le dépôt Flathub, Flatseal s'installe via le paquet com.github.tchx84.Flatseal, soit en ligne de commande :
flatpak install com.github.tchx84.Flatseal
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, 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.
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 :
Avec Flatseal
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 pour donner tous les accès,
- ou de Tous les fichiers utilisateur si l'application n'a besoin que d'accéder à vos fichiers personnels (
/homede l'utilisateur), ce qui est plus sécurisé.
- ou entrez le chemin de votre choix dans Autres fichiers.
En ligne de commande
Ou en ligne de commande :
flatpak override id.de.l.application --filesystem=host
où 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 (host).
Pour plus de finesse et de sécurité dans ces paramètres, voir la documentation officielle.
Mise à jour
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, on utilise la sous-commande update :
flatpak update
Désinstaller une application
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 commande flatpak uninstall :
flatpak uninstall id.de.l.application
--user, il faudra remettre cette option à la désinstallation.
Pour supprimer les dépendances obsolètes, comme les environnements d'exécutions devenus inutiles, utiliser l'option --unused :
flatpak uninstall --unused
Si plus aucun logiciel installé n'en provient, on peut aussi retirer le dépôt.
Niveaux de privilèges
La plupart des sous-commandes de flatpak, dont install, possèdent une option --user, par opposition à l'option par défaut --system (qui est active si on ne précise rien).
Il s'agit d'une option qui limite les droits d'accès au système du logiciel que vous venez d'installer, et qui permet aussi à l'utilisateur d'installer une application sans nécessiter les permissions administrateur.
Par exemple :
flatpak install --user org.gnome.FeedReader
installe FeedReader uniquement pour l'utilisateur courant.
Les fichiers relatifs à cette application sont alors stockés dans ~/.local/share/flatpak/app/org.gnome.FeedReader au lieu de /var/lib/flatpak/app/org.gnome.FeedReader comme ça aurait été le cas normalement. Les autres comptes utilisateurs éventuellement présents sur l'ordinateur n'auront alors pas accès à l'application.
Problèmes courants
Thèmes
On peut définir un thème pour toutes les applications dans Flatseal :
cliquer dans la colonne de gauche sur Toutes les applications puis à droite descendre jusqu'à la section Environment et ajouter les variables suivantes en les ajustant :
GTK_THEME=nom-du-thème
et
ICON_THEME=nom-du-pack-d'icônes
(remplacer nom-du-thème et nom-du-pack-d'icônes par leurs noms respectifs, idéalement les mêmes que ceux choisis dans GNOME Ajustements).
Installer un thème
Si un logiciel n'a pas le bon thème, le plus simple est d'installer le thème depuis Flathub, à condition évidemment que celui-ci existe.
Exemples :
flatpak install org.gtk.Gtk3theme.Ambiance
flatpak install org.gtk.Gtk3theme.Communitheme
On peut obtenir la liste des thèmes disponibles en Flatpak grâce à la commande :
flatpak search --user --columns=app theme | grep org.gtk | sort -d
On peut aussi utiliser la commande flatpak remote-ls :2)
flatpak remote-ls | grep org.gtk.Gtk3theme
Utiliser un thème utilisateur
Si un thème n'existe pas en version Flatpak, on peut autoriser toutes les applications Flatpak à accéder aux thèmes de l'utilisateur : dans Flatseal, cliquer dans la colonne de gauche sur Toutes les applications puis à droite descendre jusqu'à la section Filesystem. Dans Autres fichiers ajouter l'accès à ~/.themes (voir capture). Si le pack d'icônes n'est pas pris en compte on peut en faire de même avec le chemin ~/.icons.
Emplacements inaccessibles
Si un emplacement n'est pas accessible à partir de l'application, voir le chapitre Accès aux stockages tiers.
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.
Traduction
Les traductions sont normalement installées avec l'application. Si ce n'est pas le cas, installez le paquet ayant le nom de l'application mais avec le suffixe .Locale :
flatpak install org.gnome.Games.Locale
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.applicationest à remplacer dans cette commande par l'identifiant correct de l'application.
L'application se ferme peu après avoir été ouverte
- Installer Flatseal.
- Sélectionner l'application incriminée.
- 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 !
Voir aussi
- La page dédiée à l'utilitaire Flatpak
- Applications les plus populaires sur Flathub

