Mon

Dans cet article, dans la continuité de ce qui a été expliqué dans la section précédente, nous expliquerons comment transformer notre application, que nous avons rendue indépendante du système, en une appimage.

Première partie de notre article de cette adresse Vous pouvez rejoindre.

Tout d'abord, décoder et emballer le fichier Appimage, puis la structure interne du fichier appimage sera discutée.

Résolution des fichiers Appimage

à n'importe quel fichier appimage –appimage-extrait Le fichier Appimage est résolu lorsque le paramètre est ajouté.

Emballage Appimage

Fichiers d'image d'application appimagekit emballé à l'aide Appimagekit est utilisé comme suit.

ARCH=x86_64 appimagetool-x86_64.AppImage /home/user/appimage-project

Notre fichier Appimage est créé dans un répertoire parent de notre répertoire de projet.

Création d'un index des emballages

Nous devons d'abord créer le répertoire d'emballage. Les fichiers Appimage ont besoin de 3 fichiers de base. Ces Apprun Le fichier est le lanceur d'application et l'icône de l'application.

$ ls appimage-test test.desktop test.png AppRun ... test.bin libs/ ld-linux-x86-64.so.2 ...

Nous devons placer notre application, que nous avons rendue indépendante du système dans la section précédente, comme dans l'exemple ci-dessus. Ici .desktop Examinons de plus près notre fichier d'extension.

[Desktop Entry] Name=Tester l'application Exec=test.bin Icon=test Type=Application Categories=Utility;

Burada Nom le nom de notre application, Exec le nom du fichier à exécuter, Icône Spécifie le nom de l'icône de l'application.

  • Non: Icône Il doit y avoir une icône d'application avec le même nom que celui spécifié dans la section.

Fichier AppRun

Le fichier AppRun est le fichier qui sera exécuté lors de l'exécution de appimage. Dans ce fichier, les commandes nécessaires au lancement de notre application sont définies.

#!/bin/bash echo "Hello World"

Ci-dessus, nous avons utilisé une commande simple qui écrit à l'écran. Voici les points à noter :

  • Parce qu'Appimage est conçu pour fonctionner sur tous les systèmes / Bin / sh plutôt / bin / bash préférable.
  • Un fichier appimage empaqueté est monté et exécuté en lecture seule.
  • Le fichier AppRun doit être l'exécutable jaune. Il n'est pas nécessaire que ce soit un script. Si des fichiers binaires doivent être utilisés, ils doivent être compilés en tant que fichiers statiques.

Exécutons notre application dans notre fichier AppRun comme dans la section précédente. Tout d'abord, nous devons déterminer notre emplacement actuel. Pour ça lien de lecture Nous pouvons utiliser la commande.

#!/bin/bash export SELF=$(readlink -f "$0") export HERE=${SELF%/*} "${HERE}"/ld-linux-x86-64.so.2 --library- chemin "${ICI}"/libs/ "${ICI}"/test.bin

Dans l'exemple ci-dessous, le répertoire de montage appimage ICI Nous l'avons défini comme une variable d'environnement et avons démarré notre application en l'utilisant.

Variables environnementales

Dans la suite de l'article, nous nous concentrerons sur les définitions nécessaires au bon fonctionnement de notre application.

Dans notre fichier AppRun facile Pour les schémas, les définitions des variables d'environnement sont faites comme suit. Ensuite, notre schéma glib est compilé.

# Ajoutez ce qui suit à notre fichier AppRun. export GSETTINGS_SCHEMA_DIR="${HERE}"/glib-schemas # Notre schéma glib est compilé comme suit. glib-compile-schemas répertoire-projet/glib-schemas

Répertoire du plugin Qt QT_PLUGIN_PATH spécifié par la variable.

exporter QT_PLUGIN_PATH="${ICI}"/qt5/plugins

L'appli normalement / Usr / share l'emplacement des fichiers qui devraient être dans le répertoire XDG_DATA_DIRS Nous devrons peut-être le définir avec une variable.

exporter XDG_DATA_DIRS="${ICI}"/partager

Répertoire des modules Python PYTHONPATH est défini avec.

exporter PYTHONPATH="${HERE}/python-shared"

Répertoires de la bibliothèque Perl PERLLIB est défini avec.

exporter PERLLIB="${HERE}/perl-libs"