Le format AppImage est un format d'application portable/autonome. Une application empaquetée au format AppImage intègre toute les dépendances nécessaires à son fonctionnement. Elle peut ainsi s’exécuter sur de nombreuses distributions GNU/Linux simplement par copier coller et positionnement du droit d'exécution.
De nombreux logiciels sont à présent proposés sous ce format et téléchargeables directement sur les sites web appartenant auteurs/développeurs.
Puisque l'application est autonome, elle n'est pas intégrée au système de paquetage de la distribution GNU/Linux, elle doit être mise à jour par l'utilisateur ou intégrer son propre système de notification de mises à jours.
L'utilisateur n'a pas besoin de privilèges administrateur pour télécharger et lancer une application AppImage. Après téléchargement, le fichier doit être rendu exécutable par exemple via la commande chmod:
chmod u+x my_app_example.AppImage
Pas d'installation nécessaire, par convention les fichiers AppImage sont placés dans les répertoires:
$HOME/Applications
pour les applications avec interface graphique$HOME/.local/bin
ou $HOME/bin
pour les applications en CLI Plusieurs logiciels proposent d'assister l'utilisateur dans la gestion des paquets AppImages (notamment pour les intégrer dans l'environnement de bureau virtuel):
Sur de nombreuses distributions, il est nécessaire d'installer le composant fuse (Filesystem in UserSpacE) pour pouvoir exécuter les applications AppImage.
Dans l'exemple ci-dessous la tentative d'exécution d'une application AppImage retourne une erreur :
./FreeCAD-0.21.2-Linux-x86_64.AppImage dlopen(): error loading libfuse.so.2 AppImages require FUSE to run. You might still be able to extract the contents of this AppImage if you run it with the --appimage-extract option. See https://github.com/AppImage/AppImageKit/wiki/FUSE for more information
Le système n'arrive pas à charger la bibliothèque fuse en version 2. Sur les versions Ubuntu récentes (>= 22.04), le système est livré avec fuse en version 3.
# Affiche la version du système cat /etc/os-release | grep VERSION_ID VERSION_ID="23.10" # Affiche la version du paquet fuse dpkg -l | grep fuse ii fuse3 3.14.0-4 amd64 Filesystem in Userspace (3.x version)
Pour installer la bibliothèque fuse2 :
sudo add-apt-repository universe sudo apt install libfuse2
Il est possible d'extraire les fichiers du paquet AppImage avec l'option --appimage-extract
# Extraction des fichiers de l'image dans le dossier courant ./myImage.AppImage --appimage-extract
Normalement les images s'exécutent dans un environnement confiné (sandbox). Dans certains cas il peut être utile de lancer l'application sans confinement :
Pour créer un raccourcis sur le bureau virtuel, confère le wiki créer un icône (lanceur).
Certaines applications refusent de se lancer et retourne un message du type :
The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /tmp/.mount_pia-3.vvemOE/chrome-sandbox is owned by root and has mode 4755.
Décompresser l'image et modifier les droits sur le fichier chrome-sandbox présent à la racine de l'arborescence de l'application :
# Décompresser l'image /pia-3.0.3.AppImage --appimage-extract cd squashfs-root/ sudo chown root: chrome-sandbox sudo chmod 4755 chrome-sandbox
Le problème a été rencontré pour les applications Pia,etcher, joplin