طريقة إنشاء حزمة appimage لبرنامجٍ ما

السلام عليكم ورحمة الله وبركاته،
في هذا المقال سنقوم بعمل حزمة لبرنامج ووضع كل البرامج التي ستعتمد عليها (dependencies). حيث ستساعدك هذه الحزمة الواحدة باستخداها على اغلب توزيعات لينكس سواءً كانت مبنية على RedHat، Debian أو Arch.

المقدمة

“قم ببناء برنامجك مرة واحدة وقم بتشغيله على أغلب التوزيعات” هي الميزة التي تجعل من حزمات/صيغ appimage خيار ممتاز للمطورين. الحزمات المبنية باستخدام appimage يسهل نقلها واستخدامها على توزيعات أخرى من دون الحاجة لتثبيت البرامج. لهذا سأقوم بشرح طريقة إنشاء الحزم باستخدام appimage.

المتطلبات بناء الحزمة

يجب علينا تحميل وتثبيت برنامج appimagetool الذي سيساعدنا في إنشاء الحزمة بعد الانتهاء من الخطوات. لنبدأ بخطوات تثبيت appimagetool.

  1. قم بالذهاب إلى موقع appimagetool
  2. قم بالنقر على Download.
  3. قم بتحريك الفأرة للأسفل حتى تصل إلى علامة “latest”

  1. قم باختيار الملف الصحيح بالنسبة لمعمارية معالجك.
  2. قم باختيار مكان تحميل البرنامج وسيبدأ التحميل.
  3. بعد الانتهاء من التثبيت قم بالذهاب إلى موقع الملف وقم بجعل الملف قابلاً للتنفيذ بنقر زر يمين عليه بالماوس ومن ثم الذهاب إلى permissions/معلومات الإذن وإعطاءه إذن التنفيذ.

  1. الان يمكننا استخدام appimagetool لانشاء حزم appimage.
  • من المهم ان تكون الاداة في نفس المجلد الذي ستقوم بإنشاءه في الخطوات التالية.

خطوات بناء حزمة appimage

سأقوم بعمل حزمة من برنامج asciiquarium اللطيف والطريف الذي يقوم بانشاء حوض أسماك باستخدام أحرف ascii. ولكن يمكنك اتباع نفس الخطوات لبرنامجك.

  1. قم بفتح متصفح الملفات
  2. قم بإنشاء مجلد بأسم البرنامج الذي تريد عمل حزمة appimage منه وقم بإعطاءه الصيغة AppDir
    • بالنسبة لي قمت بتسمية المجلد بأسم asciiquarium.AppDir

  1. انقر على المجلد الذي قمت بإنشاءه.
  2. قم بإنشاء مجلد داخله بإسم usr.
  3. أيضاً قم بالدخول إلى مجلد usr وإنشاء مجلد بداخله بأسم bin.

  1. سنقوم بوضع البرنامج الذي نريده داخل مجلد bin.
  • ملاحظة: يجب ان يكون البرنامج تم بناءه باستخدام compiler أو جاهزاً للتنفيذ.

  1. قم بالرجوع إلى مجلد AppDir
  2. قم بإنشاء ملف بأسم البرنامج بصيغةdesktop.
    • بالنسبة لي قمت بتسمية الملف بأسم asciiquarium.desktop
  3. قم بوضع هذه الأومر بداخل ملف desktop
[Desktop Entry]  
Type=Application  
Name=أسم_البرنامج  
Exec=أسم_البرنامج  
Comment=نبذة عن البرنامج.  
Icon=صورة_البرنامج، لاتقم بوضع صيغة الصورة فقط أسمها  
Categories=فئة_البرنامج;  

  1. قم بإضافة صورة بحجم 256x256 للبرنامج في مجلد AppDir ولا تنسى بوضع أسم ملف الصورة أمام كلمة Icon في ملف desktop
  • يمكنك تنزيل الصورة عن طريق محرك بحث مثل Google.
  1. قم بإنشاء ملف ثالث بأسم AppRun وقم بوضع هذه الأوامر بداخله.
#!/bin/sh  
HERE="$(dirname "$(readlink -f "${0}")")"  
EXEC="${HERE}/usr/bin/أسم_البرنامج"  
exec "${EXEC}"  
  • داخل متغير HERE قمنا بحفظ موقع مجلد AppDir على النظام.
  • داخل متغير EXEC قمنا بحفظ موقع البرنامج داخل مجلد AppDir.
  • متغير exec يقوم بتشغيل/تنفيذ البرنامج الذي قمنا بحفظه داخل مجلد bin.

صورة توضح الاعدادت التى استخدمتها لملف AppRun

  1. قم بجعل ملفين Desktop و AppRun قابلان للتنفيذ بنقر زر يمين على كلٍ منهم بالماوس ومن ثم الذهاب إلى permissions/معلومات الإذن وإعطاءه إذن التنفيذ (الطريقة هي نفسها التي قمنا بها في جعل أداة appimagetool قابلة للتنفيذ).
  2. أصبح الان كل شي جاهزاً لبناء حزمة appimage.

  1. كل ما عليك فعله الان هو إدخال هذا الأمر:
    ARCH=x86_64 ./appimagetool-x86_64.AppImage أسم_البرنامج.AppDir
  • بالنسبة لي كان الأمر بالشكل التالي:
    ARCH=x86_64 ./appimagetool-x86_64.AppImage asciiquarium.AppDir

  • عند نجاح بناء الحزمة ستظهر النتيجة مثل ما هو موضح في الصورة ادناه.

تنفيذ البرنامج

بدايةً، قم بجعل الحزمة قابلة للتنفيذ (الطريقة هي نفسها التي قمنا بها في جعل أداة appimagetool قابلة للتنفيذ).
توجد طريقتين لتنفيذ الحزم المبنية باستخدام appimage.

  • الطريقة الأولى، عن طريق واجهة المستخدم:
  1. قم بالذهاب إلى موقع الحزمة التي قمت بإنشاءها.
  2. قم بالنقر مرتين على الحزمة التي قمت بإنشاءها لكي تعمل.
  • الطريقة الثانية، عن طريق موجه الأوامر:
  1. قم بالذهاب إلى موقع الملف بمساعدة أمر cd
  2. عند الوصول إلى الملف قم بإدخال الأمر التالي:
    ./asciiquarium-x86_64.AppImage.

الخاتمة

شاركني برأيك حول صيغة appimage؟ هل تفضلها على الصيغ الاخرى؟
ماهي تجربتكم مع بناء حزم باستخدام appimage؟

أتشرف أيضاً بمتابعتكم لي على تويتر والإشتراك على قناتي على اليوتيوب

لتحميل الحزمة النهائية التي قمت أنا ببناءها، من خلال الرابط الموجود أسفل:

asciiquarium-x86_64.AppImage (‏213.2 ‏ك.ب)

المصادر

3 إعجابات

شكرا جزيلا، شرح وافي و كافي و بطريقة بسيطة و سهلة، أنا من مستخدمي برامج appiamge و أجدها نقلة نوعية و ثورية في تحزيم برامج غنو/لينكس التي منحتها سهولة في الإستخدام و نقلها من نظام إلى آخر دون حمل هم الإعتماديات و التافقية. شكرا مرة أخرى.

إعجاب واحد (1)