Flatpak : Les commandes essentielles



Introduction



Les flatpak sont, sous Linux, un système de paquets universels. Le but est de faciliter le déploiement sécurisé d'applications sur différentes distributions.

Les applications sont exécutées dans un environnement « bac à sable » (sandbox) pour que ces applications soient isolées du système mais que les documents soient accessibles.

Chaque paquet dispose de permissions particulières, exemple avec Kdenlive :
Code TEXT :
  permissions: ipc, network, pulseaudio, x11, devices
  file access: host, xdg-config/kdeglobals:ro, xdg-run/dconf, ~/.config/dconf:ro
  dbus access: com.canonical.AppMenu.Registrar, com.canonical.AppMenu.Registrar.*


Un flatpak nécessitant des dépendances (Exemple : Kdenlive ayant besoin de Qt), flatpak s'occupe de gérer ces dernières lors de l'installation.

Il est possible de gérer ses paquets flatpak avec GNOME Logiciels (Dans Fedora et CentOS par exemple) ou en ligne de commande.

La partie graphique étant très intuitive, cet article se consacre principalement à la gestion en mode texte.

Le logiciel Kdenlive sera utilisé dans cet article car il est simple et est représentatif de la plupart des applications disponibles (Dépend de Qt et KDE, Possède des traductions)

Prérequis



Sur votre distribution, vous devez installer flatpak.
Sur Fedora, CentOS c'est le cas par défaut.

Ensuite, ces paquets sont stockés dans des dépôts. Le plus connu et rempli est flathub.

Pour ajouter le dépôt "flathub" suivre les instructions sur le site web : https://flatpak.org/setup/

Pour installer le dépôt en graphique GNOME Logiciels : Télécharger le fichier https://flathub.org/repo/flathub.flatpakrepo et l'exécuter pour que le dépôt s'installe avec GNOME Logiciels.

En ligne de commande :

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


Informations sur les paquets flatpak



Nommage des paquets



Les paquets flatpak portent toutes la même dénomination (l'identifiant ou id) :

com.societe.Application

Exemple : org.kde.kdenlive
Exemple : org.gimp.GIMP
Exemple : com.google.AndroidStudio
Exemple : fr.handbrake.ghb

Les paquets de langue de l'applications sont nommés ainsi :

Code TEXT :
com.societe.application.Locale


Exemple : org.kde.kdenlive.Locale

Si on veut trouver une architecture bien précise, on la précise ainsi :

Code TEXT :
com.societe.application/arch


Exemple : org.kde.kdenlive/i386

Parfois des logiciels sont fournis en plusieurs versions (Branches) pour les manipuler, on précise la version avec une double barre oblique :

Code BASH :
com.societe.application//x.y


Exemple : org.kde.Platform.Locale//5.12



Applications système ou utilisateur



Les flatpak peuvent s'installer de 2 manières :
system : c'est à dire que les applications sont utilisables par tous les utilisateurs du système. (C'est l'option par défaut)
user : l'application est installée pour l'utilisateur exécutant la commande. L'option --user doit être spécifiée pour installer le flatpak dans ce mode.

Utiliser Flatpak



Les dépôts



Pour gérer les dépôts, 3 sous commandes sont utiles.

Installer un dépôt distant (exemple avec flathub):

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


Lister les dépôts distants :

Code BASH :
flatpak remotes


Code TEXT :
Name    Options
flathub system



Si on veut supprimer un dépôt (exemple avec flathub) :

Code BASH :
flatpak remote-delete flathub



Chercher en ligne des flatpak



Pour trouver des applications on va utiliser la commande search :

Code BASH :
flatpak search application


Exemple :

Code BASH :
flatpak search kdenlive


Code TEXT :
Application ID   Version Branch Remotes Description
org.kde.kdenlive 18.12.1 stable flathub Video Editor


Cette commande liste uniquement les applications. Si on cherche des traductions, la commande search ne les affichera pas.
Pour avoir tout le contenu du dépôt et lister ce qui nous intéresse, on va préférer la commande remote-ls (à coupler avec grep pour filtrer sur le logiciel) :

Code BASH :
flatpak remote-ls -a flathub 


Exemple pour Kdenlive :

Code BASH :
flatpak remote-ls -a flathub | grep -i kdenlive


Code TEXT :
org.kde.kdenlive
org.kde.kdenlive.Debug
org.kde.kdenlive.Locale
org.kde.kdenlive.Sources


Installer des flatpak



Pour installer un flatpak, on utilise la commande install et on précise le nom du dépôt :

Code BASH :
flatpak install depot leflatpak


Exemple :

Code BASH :
flatpak install flathub org.kde.kdenlive


Code TEXT :
Required runtime for org.kde.kdenlive/x86_64/stable (runtime/org.kde.Platform/x86_64/5.12) found in remote flathub
Do you want to install it? [y/n]: y
Installing in system:
org.kde.Platform/x86_64/5.12          flathub d3e20330f263
org.kde.KStyle.Adwaita/x86_64/5.12    flathub ff24e32a3ab8
org.kde.Platform.Locale/x86_64/5.12   flathub 0e043b7a8e49
org.kde.kdenlive/x86_64/stable        flathub 3e6f5af9d954
  permissions: ipc, network, pulseaudio, x11, devices
  file access: host, xdg-config/kdeglobals:ro, xdg-run/dconf, ~/.config/dconf:ro
  dbus access: com.canonical.AppMenu.Registrar, com.canonical.AppMenu.Registrar.*
org.kde.kdenlive.Locale/x86_64/stable flathub 9ffa8a28cadd


Les dépendances sont gérées puisque ici, Kdenlive a besoin de la plateforme KDE, qui est téléchargée également.

Pour installer les traductions de Kdenlive :

Code BASH :
flatpak install flathub org.kde.kdenlive.Locale


A noter, les versions récentes de flatpak (supérieures à 1.2 )autorisent l'installation de logiciels juste avec le nom (et non plus le paquet tout entier) :

Code BASH :
flatpak install flathub kdenlive


Des infs sur les flatpak installés



Pour avoir plus d'infos sur les platpak installés (version, architecture, dépôt, Runtime utilisé/version, etc.) c'est la commande info :

Code BASH :
flatpak info leflatpak


Exemple :

Code BASH :
flatpak info org.kde.kdenlive


Code TEXT :
Ref: app/org.kde.kdenlive/x86_64/stable
ID: org.kde.kdenlive
Arch: x86_64
Branch: stable
Origin: flathub
Collection ID: org.flathub.Stable
Date: 2019-01-29 07:57:02 +0000
Subject: update: KDE runtime 5.12 (0c16024d)
Commit: 3e6f5af9d954fba57cf562017e3a26f6181c03a391cd7c4ffa042c9bcb2b43f2
Parent: 44b566eabdfbbf07338e4949bda8135131794cbaa98790051a50dbc6fb4f5461
Location: /var/lib/flatpak/app/org.kde.kdenlive/x86_64/stable/3e6f5af9d954fba57cf562017e3a26f6181c03a391cd7c4ffa042c9bcb2b43f2
Installed size: 402.5 MB
Runtime: org.kde.Platform/x86_64/5.12
Sdk: org.kde.Sdk/x86_64/5.12



Lancer des flatpak



Une fois les applications installées,on les lance graphiquement comme une application normale (les icônes et raccourcis sont créés dans le menu d'application.

En ligne de commande, on procédera ainsi :

Code BASH :
flatpak run leflatpak


Exemple :

Code BASH :
flatpak run org.kde.kdenlive


C'est ainsi qu'on verra aussi les retours dans la console et les différentes erreurs (traduction manquante, crash, etc...)

Mettre à jour les flatpak



Pour mettre à jour on utilise la commande update

Code BASH :
flatpak update


Exemple :

Code TEXT :
Looking for updates...
Installing in system:
org.freedesktop.Platform.Locale/x86_64/18.08       flathub 3756db4fedc7
org.freedesktop.Platform.html5-codecs/x86_64/18.08 flathub 337041240b18
Is this ok [y/n]: y


Lister les applications installées



Pour lister les applications installées sur le système, il s'agit de la commande list.

Code BASH :
flatpak list


Exemple :
Code BASH :
Ref                                                Options
org.gimp.GIMP/x86_64/stable                        system,current
org.kde.kdenlive/x86_64/stable                     system,current
org.libreoffice.LibreOffice/x86_64/stable          system,current
org.freedesktop.Platform.ffmpeg/x86_64/1.6         system,runtime
org.freedesktop.Platform.html5-codecs/x86_64/18.08 system,runtime
org.freedesktop.Platform/x86_64/18.08              system,runtime
org.gnome.Platform/x86_64/3.28                     system,runtime
org.kde.KStyle.Adwaita/x86_64/5.12                 system,runtime
org.kde.Platform/x86_64/5.12                       system,runtime


Si on ne veut lister que les applications installées (pas les traductions, les dépendances) on ajoute --app :

Code BASH :
flatpak list --app 


Exemple :

Code TEXT :
Ref                                       Options
org.gimp.GIMP/x86_64/stable               system,current
org.kde.kdenlive/x86_64/stable            system,current
org.libreoffice.LibreOffice/x86_64/stable system,current


Désinstaller des flatpak



Pour supprimer des applications installées sur le système, il s'agit de la commande uninstall

Code BASH :
flatpak uninstall leflatpak


Exemple :

Code BASH :
flatpak uninstall org.kde.kdenlive


Code TEXT :
Uninstalling from system:
org.kde.kdenlive/x86_64/stable
org.kde.kdenlive.Locale/x86_64/stable
Is this ok [y/n]: y



Et pour supprimer les dépendances obsolètes c'est l'option --unused à coupler avec uninstall

Code BASH :
flatpak uninstall --unused


Code TEXT :
Uninstalling from system:
org.kde.KStyle.Adwaita/x86_64/5.12
org.kde.Platform/x86_64/5.12
org.kde.Platform.Locale/x86_64/5.12
Is this ok [y/n]:



Problèmes connus



Applications en Anglais



Si une application reste en anglais, la lancer dans la console :

Exemple : flatpak run org.kde.kdenlive

Le message typique est :
Code TEXT :
Gtk-WARNING **: 11:41:45.337: Locale not supported by C library.
Using the fallback 'C' locale


Pour les applications GTK, vérifier que :
org.gnome.Platform.Locale soit installé
org.xxx.logiciel.Locale soit aussi installé

Pour les applications Qt, vérifier que :
org.kde.Platform.Locale soit installé (dans la version nécessaire)
org.xxx.logiciel.Locale soit aussi installé

Si tout est installé, vérifier dans les paramètres de l'application s'il n'y a pas la possibilité de changer la langue en Français.


Documentation et aide fournie avec flatpak



Si malgré tout vous voulez en savoir plus sur les flatpak, les pages de manuel sont garnies d'options :

Code BASH :
man flatpak


Ainsi que les pages man de toutes les sous commandes listées dans la page man précédente :

Code BASH :
man flatpak-list
man flatpak-install
man flatpak-update
Cette page a été vue 4557 fois