Giriş
Bu yazıda, əvvəlki hissədə izah edilənlərin davamı olaraq, sistemdən müstəqil şəkildə düzəltdiyimiz tətbiqimizi necə appimage halına gətirəcəyimizi izah edəcəyik.
Məqaləmizin 1-ci hissəsi bu ünvandan çata bilərsiniz.
Əvvəlcə Appimage faylının dekodlanması və qablaşdırılması, sonra appimage faylının daxili strukturu müzakirə olunacaq.
Appimage fayllarının həlli
hər hansı appimage faylına -appimage-çıxarış Appimage faylı parametr əlavə edildikdə həll olunur.
Appimage qablaşdırma
Appimage faylları appimagekit istifadə edərək qablaşdırılır Appimagekit aşağıdakı kimi istifadə olunur.
ARCH=x86_64 appimagetool-x86_64.AppImage /home/user/appimage-project
Appimage faylımız layihə kataloqumuzun əsas kataloqunda yaradılmışdır.
Qablaşdırma indeksinin yaradılması
Əvvəlcə qablaşdırma kataloqunu yaratmalıyıq. Appimage fayllarına əsas 3 fayl lazımdır. Bunlar Apprun fayl proqram başlatma cihazı və proqram simvoludur.
$ ls appimage-test test.desktop test.png AppRun ... test.bin libs/ ld-linux-x86-64.so.2 ...
Sistemdən müstəqil şəkildə düzəltdiyimiz tətbiqimizi yuxarıdakı misaldakı kimi əvvəlki bölmədə yerləşdirməmiz lazımdır. Budur .desktop Genişləndirici faylımıza daha yaxından nəzər salaq.
[Desktop Entry] Adı=Test proqramı Exec=test.bin Icon=test Növü=Tətbiq Kateqoriyaları=Utility;
burada ad tətbiqimizin adı, İcra işlədiləcək faylın adı, Icon Proqram ikonasının adını müəyyən edir.
- Not: Icon Bölmədə göstərilənlə eyni ada malik proqram simvolu olmalıdır.
AppRun faylı
AppRun faylı appimage işə salındıqda işə salınacaq fayldır. Bu faylda tətbiqimizi işə salmaq üçün tələb olunan əmrlər müəyyən edilmişdir.
#!/bin/bash echo "Salam Dünya"
Yuxarıda, ekrana yazan sadə bir əmrdən istifadə etdik. Burada qeyd edilməli məqamlar var:
- Çünki Appimage bütün sistemlərdə işləmək üçün nəzərdə tutulmuşdur / bin / sh yerinə / bin / bash üstünlük verilir.
- Paketlənmiş appimage faylı yalnız oxumaq üçün quraşdırılır və icra edilir.
- AppRun faylı sarı icra edilə bilən olmalıdır. Bunun skript olmasına ehtiyac yoxdur. Əgər binar fayllar istifadə olunacaqsa, onlar statik olaraq tərtib edilməlidir.
Tətbiqimizi əvvəlki bölmədə olduğu kimi AppRun faylımızda işə salaq. Birincisi, indiki yerimizi müəyyən etməliyik. Bunun üçün oxumaq bağlantısı əmrindən istifadə edə bilərik.
#!/bin/bash eksport SELF=$(readlink -f "$0") ixrac HERE=${SELF%/*} "${HERE}"/ld-linux-x86-64.so.2 --library- yol "${HERE}"/libs/ "${HERE}"/test.bin
Aşağıdakı nümunədə appimage mount qovluğu HERE Biz onu ekoloji dəyişən kimi təyin etdik və ondan istifadə edərək tətbiqimizə başladıq.
Ətraf mühit dəyişənləri
Məqalənin qalan hissəsində biz tətbiqimizin düzgün işləməsi üçün lazım olan təriflərə diqqət yetirəcəyik.
AppRun faylımızda glib Sxemlər üçün ekoloji dəyişənlərin tərifləri aşağıdakı kimi edilir. Sonra glib sxemimiz tərtib edilir.
# AppRun faylımıza aşağıdakıları əlavə edin. ixrac GSETTINGS_SCHEMA_DIR="${HERE}"/glib-schemas # Bizim glib sxemimiz aşağıdakı kimi tərtib edilmişdir. glib-compile-schemas layihə-kataloq/glib-şemaları
Qt plagin kataloqu QT_PLUGIN_PATH dəyişən tərəfindən müəyyən edilir.
QT_PLUGIN_PATH="${HERE}"/qt5/plugins ixrac edin
Proqram adətən / usr / paylaşmaq kataloqda olması lazım olan faylların yeri XDG_DATA_DIRS Onu dəyişənlə müəyyən etməmiz lazım ola bilər.
ixrac XDG_DATA_DIRS="${HERE}"/share
Python modul kataloqu PİTONPATH ilə müəyyən edilir.
ixrac PYTHONPATH="${HERE}/python-shared"
Perl kitabxana kataloqları PERLLIB ilə müəyyən edilir.
ixrac PERLLIB="${HERE}/perl-libs"