accesso

In questo articolo, come prosecuzione di quanto spiegato nella sezione precedente, spiegheremo come trasformare la nostra applicazione, che abbiamo reso indipendente dal sistema, in un'appimage.

Parte 1 del nostro articolo da questo indirizzo Si può raggiungere.

Innanzitutto, verrà discussa la decodifica e il confezionamento del file Appimage, quindi verrà discussa la struttura interna del file appimage.

Risoluzione dei file Appimage

a qualsiasi file appimage –appimage-extract Il file Appimage viene risolto quando viene aggiunto il parametro.

Confezione dell'immagine dell'app

File immagine dell'app appimagekit confezionato utilizzando Appimagekit viene utilizzato come segue.

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

Il nostro file Appimage viene creato in una directory principale della directory del nostro progetto.

Creazione di un indice di imballaggio

Per prima cosa dobbiamo creare la directory di packaging. I file Appimage richiedono 3 file di base. Queste AppRun file è l'avvio dell'applicazione e l'icona dell'applicazione.

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

Dobbiamo posizionare la nostra applicazione, che abbiamo reso indipendente dal sistema nella sezione precedente, come nell'esempio precedente. Qui .desktop Diamo un'occhiata più da vicino al nostro file di estensione.

[Desktop Entry] Name=Applicazione di prova Exec=test.bin Icon=test Type=Applicazione Categorie=Utilità;

Burada Nome il nome della nostra applicazione, Exec il nome del file da eseguire, Icona Specifica il nome dell'icona dell'applicazione.

  • Non: Icona Deve essere presente un'icona dell'applicazione con lo stesso nome di quella specificata nella sezione.

File AppRun

Il file AppRun è il file che verrà eseguito quando viene eseguito appimage. In questo file sono definiti i comandi necessari per eseguire la nostra applicazione.

#!/bin/bash echo "Ciao mondo"

Sopra, abbiamo usato un semplice comando che scrive sullo schermo. Ecco i punti da notare:

  • Perché Appimage è progettato per funzionare su tutti i sistemi /bin/sh invece / bin / bash preferibile.
  • Un file appimage compresso viene montato ed eseguito in sola lettura.
  • Il file AppRun deve essere l'eseguibile giallo. Non ha bisogno di essere una sceneggiatura. Se devono essere utilizzati file binari, devono essere compilati come statici.

Eseguiamo la nostra applicazione nel nostro file AppRun come nella sezione precedente. Innanzitutto, dobbiamo determinare la nostra posizione attuale. Per questo leggi link Possiamo usare il comando.

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

Nell'esempio seguente, la directory di montaggio appimage QUI L'abbiamo definita come una variabile ambientale e abbiamo avviato la nostra applicazione utilizzandola.

Variabili ambientali

Nel resto dell'articolo, ci concentreremo sulle definizioni necessarie affinché la nostra applicazione funzioni correttamente.

Nel nostro file AppRun disinvolto Per gli schemi, le definizioni delle variabili ambientali sono fatte come segue. Quindi il nostro schema glib viene compilato.

# Aggiungi quanto segue al nostro file AppRun. export GSETTINGS_SCHEMA_DIR="${HERE}"/glib-schemas # Il nostro schema glib è compilato come segue. glib-compile-schemas directory-progetto/glib-schemas

Directory dei plugin Qt QT_PLUGIN_PATH specificata dalla variabile.

export QT_PLUGIN_PATH="${QUI}"/qt5/plugins

L'app normalmente / usr / share la posizione dei file che dovrebbero essere nella directory XDG_DATA_DIRS Potremmo aver bisogno di definirlo con una variabile.

esporta XDG_DATA_DIRS="${QUI}"/condividi

Directory del modulo Python PITONE PERCORSO è definito con.

esporta PYTHONPATH="${HERE}/python-condiviso"

Directory della libreria Perl PERLLIB è definito con.

export PERLLIB="${QUI}/perl-libs"