| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| sysadmin:linux:format_appimage [2024/02/07 10:13] – yoann | sysadmin:linux:format_appimage [2025/11/23 15:41] (Version actuelle) – [Erreur "The SUID sandbox helper binary was found, but is not configured correctly."] yoann |
|---|
| |
| De nombreux logiciels sont à présent proposés sous ce format et téléchargeables directement sur les sites web appartenant auteurs/développeurs. | De nombreux logiciels sont à présent proposés sous ce format et téléchargeables directement sur les sites web appartenant auteurs/développeurs. |
| | |
| | <note> |
| | Les versions récentes d'Ubuntu intègrent un système équivalent : [[sysadmin/linux/snap| Snap]] |
| | </note> |
| |
| 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. | 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. |
| chmod u+x my_app_example.AppImage | chmod u+x my_app_example.AppImage |
| </code> | </code> |
| | |
| | |
| | ===== 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 : | Dans l'exemple ci-dessous la tentative d'exécution d'une application AppImage retourne une erreur : |
| </code> | </code> |
| |
| | ===== Manipulation du format AppImage ===== |
| |
| ===== Emplacements ===== | ==== Extraction des fichiers ==== |
| |
| Pas d'installation nécessaire, par convention les fichiers AppImage sont placés dans les répertoires: | Il est possible d'extraire les fichiers du paquet AppImage avec l'option **%%--appimage-extract%%** |
| * ''%%$HOME/Applications%%'' pour les applications avec interface graphique | |
| * ''%%$HOME/.local/bin%%'' ou ''%%$HOME/bin%%'' pour les applications en CLI | |
| |
| | <code bash> |
| | # Extraction des fichiers de l'image dans le dossier courant |
| | ./myImage.AppImage --appimage-extract |
| | </code> |
| |
| ===== Gestion des fichiers AppImage ===== | ==== Créer un fichier AppImage ===== |
| |
| Plusieurs logiciels proposent d'assister l'utilisateur dans la gestion des AppImages: | :TODO: |
| * **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. | ==== 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. Pour cela ajouter l'argument **%%--no-sandbox%%** sur la ligne de commande : |
| | |
| | <code bash> |
| | ./Joplin-3.4.12.AppImage --no-sandbox |
| | </code> |
| | |
| | ===== 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épannage ===== |
| | |
| | ==== 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 : |
| | |
| | <file> |
| | 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. |
| | </file> |
| | |
| | Deux possibilités : |
| | |
| | * Lancer l'application avec l'option ''%%--no-sandbox%%'' (non recommandé) ; |
| | * Décompresser l'archive AppImage et corriger le problème de droit ; |
| | |
| | |
| | Pour corriger le problème lié au droit, décompresser l'archive AppImage et modifier les droits sur le fichier **chrome-sandbox** présent à la racine de l'arborescence de l'application : |
| | |
| | <code bash> |
| | # Créer un répertoire dédié pour l'application |
| | mkdir pia |
| | |
| ===== Prérequis : fuse ===== | # Déplacer l'image dans le répertoire |
| | mv pia-3.0.3.AppImage pia |
| | |
| | # Décompresser l'image |
| | cd pia |
| | ./pia-3.0.3.AppImage --appimage-extract |
| | |
| | # Modifier les droits du fichier chrome-sandbox |
| | cd squashfs-root/ |
| | sudo chown root: chrome-sandbox |
| | sudo chmod 4755 chrome-sandbox |
| | </code> |
| |
| 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. | |
| |
| | Pour lancer l'application, invoquer le script AppRun |
| | <code bash> |
| | ./AppRun |
| | </code> |
| | |
| | Ce problème a été rencontré notamment pour les applications suivantes : |
| | * Pia ; |
| | * [[software:applications:etcher| Balena Etcher]] ; |
| | * [[software:applications:joplin:000_start|Joplin]] |
| |
| ===== Références ===== | ===== Références ===== |
| |
| * https://appimage.org/ | * [[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.appimagehub.com/ |
| * https://www.numetopia.fr/comment-installer-et-utiliser-des-appimage-sous-linux/ | * https://www.numetopia.fr/comment-installer-et-utiliser-des-appimage-sous-linux/ |
| * https://www.youtube.com/watch?v=dhhXbus-INw | * https://www.youtube.com/watch?v=dhhXbus-INw |