Comment utiliser set et pipefail dans les scripts Bash sous Linux
Agence web » Actualités du digital » Comment utiliser AppImages sous Linux

Comment utiliser AppImages sous Linux

AppImages permet aux développeurs Linux d’encapsuler leurs applications dans un seul fichier qui s’installe sur n’importe quelle distribution Linux. Cela simplifie énormément les choses. Voici comment les utiliser et les intégrer à votre bureau.

Installation du logiciel sous Linux

L’installation du logiciel doit être simple et pratique. La simplicité et la commodité de cela dépendent en grande partie du gestionnaire de paquets de votre distribution. Les gestionnaires de packages sont des applications logicielles qui vous permettent de télécharger d’autres programmes Linux et de les installer.

Les distributions Linux dérivées ont tendance à utiliser les gestionnaires de packages de leur distribution parente. Par exemple, les nombreuses variantes et dérivés de Debian utilisent aptles distributions RedHat et Fedora utilisent dnfet la famille de distributions Arch utilise pacman. Donc, heureusement, il n’y a pas autant de gestionnaires de paquets qu’il y a de distributions.

Même ainsi, du point de vue d’un développeur, prendre en charge tous les différents formats de paquetage signifie encapsuler votre application dans un fichier DEB pour la famille Debian, dans un RPM pour la famille RedHat, etc. C’est beaucoup de frais généraux supplémentaires.

Cela signifie également que si ni les développeurs ni personne d’autre n’a créé de package d’installation pour votre distribution, vous ne pouvez pas installer ce logiciel. Du moins, pas nativement.

Vous pourrez peut-être installer un paquet d’une distribution différente sur votre ordinateur, mais ce n’est pas une méthode sans risque et son fonctionnement n’est pas garanti. Si vous savez ce que vous faites, vous pouvez télécharger le code source et créer l’application sur votre ordinateur, mais c’est loin d’être simple et pratique.

Des projets tels que Snap et Flatpak ont ​​​​été conçus pour surmonter le problème de l’emballage des applications pour chaque distribution. Si vous pouvez encapsuler un paquet dans un seul fichier afin qu’il soit livré avec les bibliothèques appropriées et toutes les autres dépendances dont il dispose, de sorte qu’il n’impose (pratiquement) aucune demande au système d’exploitation hôte, il devrait pouvoir s’exécuter sur n’importe quel Distribution.

Le projet AppImage est une telle initiative. AppImage est le nom du projet et AppImages est le nom des applications encapsulées.

Comment fonctionne AppImages

Les fichiers AppImage ne sont pas installés au sens traditionnel. Les fichiers de composants qui composent le package d’application sont tous contenus dans un seul fichier. Ils ne sont pas décompressés et stockés dans différents répertoires du système de fichiers.

Une application installée par votre gestionnaire de packages verra son exécutable copié dans le répertoire « /bin » approprié, son man les pages seront stockées dans le répertoire « /usr/share/man », et ainsi de suite. Cette étape de décompression et de copie ne se produit pas avec AppImages.

Il y a un système de fichiers dans une AppImage, généralement un système de fichiers squashFS. Les fichiers nécessaires à l’exécution de l’application sont stockés dans ce système de fichiers, et non dans le système de fichiers principal de votre installation Linux. Lorsque AppImage est exécuté, il lance l’un de ses programmes d’assistance internes qui monte le système de fichiers squashFS dans « /tmp/mount » afin qu’il soit accessible depuis votre système de fichiers principal. Il lance ensuite l’application elle-même.

C’est pourquoi le lancement d’applications à partir de Snaps, Flatpaks et AppImages est légèrement plus lent que l’exécution d’une application normale. Pour que tout cela fonctionne, le système de fichiers hôte doit avoir quelque chose appelé « système de fichiers dans l’espace utilisateur » installé. C’est la seule dépendance qu’AppImages place sur l’hôte. FUSE est généralement préinstallé sur les distributions Linux modernes.

Utilisation d’un fichier AppImage

La première chose que vous devez faire est de télécharger l’AppImage pour l’application que vous souhaitez. Ceux-ci ne seront pas dans le référentiel de votre distribution. Habituellement, vous les trouvez sur le site Web de l’application elle-même.

Nous allons télécharger et utiliser FreeCAD, un progiciel de conception assistée par ordinateur 3D open source. Accédez à la page de téléchargement de FreeCAD et cliquez sur le bouton « AppImage 64 bits ».

La page de téléchargement de FreeCAD

Une fois téléchargé, localisez le fichier dans une fenêtre de terminal. À moins que vous n’ayez modifié les paramètres par défaut de votre navigateur Web, il se trouvera probablement dans votre répertoire « Téléchargements ». Nous devons rendre l’AppImage exécutable. Nous utiliserons le chmod commande pour ajouter le -x autorisation (exécutable).

chmod +x FreeCAD-0.20.0-Linux-x86_64.AppImage

rendre l'AppImage exécutable à l'aide de la commande chmod

Nous avons téléchargé notre fichier et l’avons rendu exécutable. Pour l’exécuter, nous pouvons l’appeler par son nom.

./FreeCAD-0.20.0-Linux-x86_64.AppImage

Lancement du fichier AppImage

C’est tout ce que nous avions à faire sur Fedora et Manjaro. Sur Ubuntu 22.04, nous avons dû installer un fichier de bibliothèque. FUSE est déjà installé sur Ubuntu 22.04, mais il s’agit d’une version plus récente que celle utilisée par la majorité des AppImages. L’installation du fichier de bibliothèque n’affecte pas la version installée de FUSE.

sudo apt install libfuse2

Installation du fichier de bibliothèque libfuse2

Cela a immédiatement résolu le problème et nous avons pu lancer AppImages sans problème sur Ubuntu Jammy Jellyfish 22.04.

L'application freeCAD exécutée à partir d'une AppImage

Tout ça c’est super. Et si vous vouliez avoir votre gâteau et le manger ? Imaginez s’il existait un moyen d’utiliser AppImages qui ne vous obligeait pas à les lancer à partir d’une fenêtre de terminal. Il serait beaucoup plus pratique de pouvoir lancer des applications AppImage comme des applications natives classiques.

Il y a une contradiction évidente ici – tout l’intérêt d’AppImages est qu’ils ne s’installent pas au sens traditionnel, y compris qu’ils ne s’intègrent pas à votre bureau. Mais c’est néanmoins possible avec AppImageLauncher.

AppImageLauncher

AppImageLauncher surveille un répertoire nommé. Il analyse le répertoire à la recherche de fichiers AppImage. Pour chacun qu’il trouve, il extrait l’icône de l’application (s’il y en a une) et intègre l’AppImage dans le bureau, comme une application normale.

Ceci est répété pour chaque nouvelle AppImage ajoutée au répertoire. Lorsqu’il détecte qu’une AppImage a été supprimée, il supprime l’intégration. Ainsi, en déposant simplement vos fichiers AppImage téléchargés dans le répertoire surveillé, ils sont intégrés à votre environnement de bureau.

Si vous utilisez Ubuntu ou Fedora, accédez à la page de téléchargement d’AppImageLauncher et cliquez sur le lien « Assets » dans la section « Release Build (Latest) ».

Cliquez sur le lien « appimagelauncher-XXX.x86_64.rpm » pour Fedora ou sur le fichier « appimagelauncher_XXX.bionic_arm64.deb » pour Ubuntu. Le « XXX » représente le numéro de version du logiciel.

Les liens de téléchargement AppImageLauncher RPM et DEB

Notez qu’il existe des liens pour AppImageLauncherléger et pour AppImageLauncher. Utilisez les liens AppImageLauncher.

Accédez à votre fichier téléchargé et double-cliquez dessus pour démarrer l’installation. Sur GNOME, cela lancera l’application « Logiciel ».

Le fichier AppImageLauncher DEB ouvert dans le programme Ubuntu Software

Sur Manjaro, vous pouvez installer AppImageLauncher avec cette commande :

sudo pacman -S appimagelauncher

Installer AppImageLauncher sur Manjaro

Vous pouvez lancer AppImageLauncher en appuyant sur la touche « Super ». Sur la plupart des claviers, il se situe entre les touches « Ctrl » et « Alt » de gauche. Tapez « appim » dans la barre de recherche.

L’icône AppImageLauncher apparaîtra. Cliquez dessus pour lancer l’application.

L'écran principal d'AppImageLauncher

Il y a un tout petit peu de configuration à faire. Nous devons indiquer à AppImageLauncher quel répertoire nous voulons qu’il surveille. Cliquez sur l’icône « dossier » et accédez au répertoire dans lequel vous stockez habituellement vos AppImages. Nous avons sélectionné notre répertoire « Téléchargements ». Vous pouvez choisir un sous-répertoire si vous le souhaitez, par exemple « /Downloads/apps ».

L'application AppImageLauncher avec /home/dave/Downloads défini comme répertoire surveillé

Si vous souhaitez qu’AppImageLauncher propose de déplacer les AppImages qu’il trouve dans d’autres répertoires vers votre répertoire surveillé, assurez-vous que la case « Demander s’il faut déplacer les fichiers AppImage dans le répertoire des applications » est cochée. Mais si AppImageLauncher ne surveille qu’un seul répertoire, comment trouvera-t-il AppImages ailleurs ?

La réponse à cela se trouve dans l’onglet « appimagelauncherd ». Cliquez sur l’onglet « appimagelauncherd » et vous verrez qu’il est possible qu’AppImage surveille plus d’un répertoire.

L'onglet appimagelauncherd de l'application AppImageLauncher

Cliquez sur l’icône verte « Plus » pour ajouter d’autres répertoires. Assurez-vous que la case « Auto Start Auto-Integration Daemon » est cochée. Cliquez sur le bouton « OK » lorsque vous avez fait vos sélections.

Attendez quelques minutes, puis appuyez sur la touche « Super » et tapez la première partie du nom d’une AppImage qui se trouve dans votre répertoire surveillé. Dans notre cas, nous n’en avons qu’un.

Dès que vous tapez « gratuit », vous devriez voir une icône pour FreeCAD. Cliquer dessus lance l’application. Si le fichier AppImage ne contient pas d’icône, une icône de roue dentée générique est utilisée, ce qui était le cas avec FreeCAD.

Pour tester davantage les choses, nous avons téléchargé le fichier AppImage pour l’application Subsurface. Nous avons attendu environ 30 secondes pour nous assurer qu’il avait été découvert et intégré, puis nous avons appuyé sur la touche « Super », tapé « sub » et l’icône de l’application est apparue. Cette fois, la véritable icône de l’application a été trouvée et utilisée.

Cliquer sur l’icône a lancé l’application. Nous n’avons même pas eu besoin d’utiliser chmod pour rendre l’AppImage exécutable.

L'application Subsurface exécutée à partir d'une AppImage

Une autre touche agréable est que le clic droit sur l’icône vous permet de supprimer l’AppImage directement depuis le menu contextuel.

Le menu contextuel Subsurface

Il existe également une option pour épingler l’icône sur votre lanceur, ce qui rend l’utilisation d’AppImages aussi pratique que les applications natives.

Les AppImages ont le vent en poupe

Sur nos machines de test, les applications lancées depuis AppImages se chargeaient légèrement plus rapidement que les applications Flatpak, et beaucoup plus rapidement que les applications Snap. Avec AppImages, il n’y a pas de cadre sous-jacent à installer, donc, à part l’espace requis pour les applications elles-mêmes, l’encombrement du disque dur lié à l’utilisation d’AppImages est nul.

L’application facultative AppImageLauncher ajoute quelques touches de finesse, mais vous pouvez utiliser AppImages avec plaisir sans elle.

De plus en plus d’applications proposent AppImages. Si vous essayez d’installer quelque chose qui ne semble pas se trouver dans les dépôts de votre distribution, consultez le site Web de l’application. Ils peuvent très bien avoir un AppImage.

★★★★★