{{tag>sysadmin linux format appimage image}} ====== Le format AppImage ====== 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. Les versions récentes d'Ubuntu intègrent un système équivalent : [[sysadmin/linux/snap| Snap]] 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 ===== Emplacements ===== 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 ===== Gestion des fichiers AppImage ===== Plusieurs logiciels proposent d'assister l'utilisateur dans la gestion des paquets AppImages (notamment pour les intégrer dans l'environnement de bureau virtuel): * **[[software/applications/appimagelauncher|AppImageLauncher]]**: Permet de générer les lanceurs dans la plupart des environnements de bureaux virtuels. * **App Outlet**: équivalent d'un market ou d'un store agnostique aux distributions proposant tous types d'applications portables aux formats AppImage, Flatpak ou Snap. * **AppImage installer**: CLI télécharge et intègre les fichiers AppImage à l'environnement de bureau virtuel. ===== Prérequis : fuse ===== Sur de nombreuses distributions, il est **nécessaire** d'installer le composant [[https://github.com/AppImage/AppImageKit/wiki/FUSE|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 ===== Manipulation du format AppImage ===== ==== Extraction des fichiers ==== 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 ==== Créer un fichier AppImage ===== :TODO: ==== Exécution hors sandbox ==== Normalement les images s'exécutent dans un environnement confiné (sandbox). Dans certains cas il peut être utile de lancer l'application sans confinement : ===== Raccourcis / Lanceurs ===== Pour créer un raccourcis sur le bureau virtuel, confère le wiki [[sysadmin:linux:creer_icone_bureau_linux| créer un icône (lanceur)]]. ===== Dépannages ===== ==== Erreur "The SUID sandbox helper binary was found, but is not configured correctly." ==== 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,[[software:applications:etcher]], [[software:applications:joplin]] ===== Références ===== * [[https://appimage.org/|Site officiel AppImage (appimage.org) ]] * [[https://docs.appimage.org/index.html|Documentation sur le format AppImage (appimage.org)]] * [[https://github.com/AppImage/AppImageKit|Outil de construction des paquets AppImage (github.com)]] * https://www.appimagehub.com/ * https://www.numetopia.fr/comment-installer-et-utiliser-des-appimage-sous-linux/ * https://www.youtube.com/watch?v=dhhXbus-INw