كيفية استخدام AppImages على Linux

تتيح AppImages لمطوري Linux تجميع تطبيقاتهم في ملف واحد يتم تثبيته على أي توزيع Linux. وهذا يبسط الأمور بشكل كبير. وإليك كيفية استخدامها ودمجها في سطح المكتب.




تثبيت البرامج على لينكس

يجب أن يكون تثبيت البرامج بسيطًا ومريحًا. ويعتمد مدى سهولة ذلك وراحته إلى حد كبير على مدير الحزم في توزيعك. مديرو الحزم عبارة عن تطبيقات برمجية تتيح لك تنزيل برامج Linux الأخرى وتثبيتها.

تميل توزيعات Linux المشتقة إلى استخدام مديري الحزم للتوزيعة الأصلية. على سبيل المثال، تستخدم العديد من إصدارات Debian والمشتقات

apt 

تستخدم توزيعات RedHat وFedora

dnf 

وتستخدم عائلة Arch من التوزيعات

pacman 

لذا، ولحسن الحظ، لا يوجد عدد كبير من مديري الحزم كما هو الحال في التوزيعات.

ومع ذلك، من وجهة نظر المطور، فإن دعم جميع تنسيقات الحزم المختلفة يعني تغليف تطبيقك في ملف DEB لعائلة Debian، وفي ملف RPM لعائلة RedHat، وما إلى ذلك. وهذا يمثل تكلفة إضافية كبيرة.


وهذا يعني أيضًا أنه إذا لم يقم المطورون أو أي شخص آخر بإنشاء حزمة تثبيت لتوزيعك، فلن تتمكن من تثبيت هذا البرنامج. على الأقل ليس بشكل أصلي.

ذات صلة: كيفية تحويل حزم تثبيت Linux إلى تنسيقات أخرى

قد تتمكن من تنزيل حزمة من توزيع مختلف على جهاز الكمبيوتر الخاص بك، لكن هذه ليست طريقة خالية من المخاطر ولا تضمن نجاحها. إذا كنت تعرف ما تفعله، فيمكنك تنزيل الكود المصدر وبناء التطبيق على جهاز الكمبيوتر الخاص بك، لكن هذا بعيد كل البعد عن البساطة والراحة.

مشاريع مثل Snap و فلاتباك تم تصميم هذه التطبيقات للتغلب على مشكلة تغليف التطبيقات لكل توزيع. إذا كان بإمكانك تغليف حزمة في ملف واحد بحيث تأتي مجمعة مع المكتبات المناسبة وأي تبعيات أخرى لها، بحيث لا تفرض (تقريبًا) أي مطالب على نظام التشغيل المضيف، فيجب أن تكون قادرة على العمل على أي توزيع.


ال مشروع AppImage إنها مجرد مبادرة من هذا القبيل. AppImage هو اسم المشروع، وAppImages هو اسم التطبيقات المغلفة.

كيف تعمل AppImages

لا يتم تثبيت ملفات AppImage بالمعنى التقليدي. يتم تضمين ملفات المكونات التي تشكل حزمة التطبيق جميعها داخل ملف واحد. لا يتم فك ضغطها وتخزينها في أدلة مختلفة في نظام الملفات.

سيتم نسخ الملف القابل للتنفيذ للتطبيق الذي تم تثبيته بواسطة مدير الحزم الخاص بك إلى الدليل “/bin” المناسب،

man 

سيتم تخزين الصفحات في الدليل “/usr/share/man”، وهكذا. لا تحدث خطوة فك الضغط والنسخ هذه مع AppImages.

يوجد نظام ملفات داخل AppImage، عادةً نظام الملفات squashFSيتم تخزين الملفات المطلوبة لتشغيل التطبيق داخل نظام الملفات هذا، وليس في نظام الملفات الرئيسي لتثبيت Linux الخاص بك. عند تنفيذ AppImage، يقوم بتشغيل أحد برامجه المساعدة الداخلية التي تقوم بتثبيت نظام ملفات squashFS في “/tmp/mount” بحيث يمكن الوصول إليه من نظام الملفات الرئيسي الخاص بك. ثم يقوم بتشغيل التطبيق نفسه.


لهذا السبب فإن تشغيل التطبيقات من Snaps وFlatpaks وAppImages يكون أبطأ قليلاً من تشغيل تطبيق عادي. لكي يعمل كل هذا، يجب أن يحتوي نظام الملفات المضيف على شيء يسمى “نظام الملفات في مساحة المستخدم“تم التثبيت. هذه هي التبعية الوحيدة التي يضعها AppImages على المضيف. عادةً ما يتم تثبيت FUSE مسبقًا على توزيعات Linux الحديثة.

استخدام ملف AppImage

أول شيء عليك القيام به هو تنزيل AppImage للتطبيق الذي تريده. لن تجد هذه الصور في مستودع التوزيع الخاص بك. عادةً، يمكنك العثور عليها على موقع الويب الخاص بالتطبيق نفسه.

سنقوم بتنزيل واستخدام FreeCAD، وهي حزمة تصميم ثلاثية الأبعاد مفتوحة المصدر بمساعدة الكمبيوتر. انتقل إلى صفحة تحميل برنامج FreeCAD وانقر على زر “64-bit AppImage”.

صفحة تحميل FreeCAD


عند تنزيله، حدد موقع الملف في نافذة المحطة الطرفية. ما لم تكن قد غيرت الإعدادات الافتراضية في متصفح الويب الخاص بك، فمن المحتمل أن يكون موجودًا في دليل “التنزيلات”. نحتاج إلى جعل AppImage قابلاً للتنفيذ. سنستخدم chmod أمر لإضافة

-x 

(إذن قابل للتنفيذ).

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

جعل AppImage قابلاً للتنفيذ باستخدام الأمر chmod

لقد قمنا بتنزيل الملف وجعلناه قابلاً للتنفيذ. لتنفيذه، يمكننا استدعاؤه بالاسم.

./FreeCAD-0.20.0-Linux-x86_64.AppImage

تشغيل ملف AppImage


هذا كل ما كان علينا فعله على Fedora وManjaro. في Ubuntu 22.04، كان علينا تثبيت ملف مكتبة. تم بالفعل تثبيت FUSE على Ubuntu 22.04، ولكنه إصدار أحدث من الإصدار الذي تستخدمه غالبية AppImages. لا يؤثر تثبيت ملف المكتبة على الإصدار المثبت من FUSE.

sudo apt install libfuse2

تثبيت ملف مكتبة libfuse2

لقد أدى ذلك إلى حل المشكلة على الفور، وتمكنا من تشغيل AppImages دون مشكلة على Ubuntu Jammy Jellyfish 22.04.

تطبيق freeCAD الذي يتم تشغيله من AppImage


كل هذا رائع. ولكن ماذا لو كنت تريد أن تأكل الكعكة وتحتفظ بها؟ تخيل لو كانت هناك طريقة لاستخدام AppImages لا تتطلب منك تشغيلها من نافذة المحطة الطرفية. سيكون من الأسهل بكثير أن تتمكن من تشغيل تطبيقات AppImage مثل التطبيقات الأصلية العادية.

هناك تناقض واضح هنا — النقطة الأساسية في AppImages هي أنها لا تقوم بتثبيت نفسها بالمعنى التقليدي، بما في ذلك عدم دمجها في سطح المكتب. ولكن هذا ممكن مع ذلك باستخدام AppImageLauncher.

تطبيق تشغيل الصور

يراقب AppImageLauncher الدليل المرشح. فهو يفحص الدليل بحثًا عن ملفات AppImage. وبالنسبة لكل ملف يجده، فإنه يستخرج أيقونة التطبيق (إن وجدت) ويدمج AppImage في سطح المكتب، مثل أي تطبيق عادي.


يتم تكرار ذلك لكل صورة تطبيق جديدة يتم إضافتها إلى الدليل. وعندما يكتشف البرنامج حذف صورة تطبيق، فإنه يقوم بإزالة التكامل. لذا، بمجرد إسقاط ملفات الصورة التطبيقية التي تم تنزيلها في الدليل الذي تتم مراقبته، يتم دمجها في بيئة سطح المكتب لديك.

إذا كنت تستخدم Ubuntu أو Fedora، فانتقل إلى صفحة تنزيل AppImageLauncher وانقر على رابط “الأصول” في قسم “إصدار البناء (الأحدث)”.

انقر على الرابط “appimagelauncher-XXX.x86_64.rpm” لنظام Fedora، أو الملف “appimagelauncher_XXX.bionic_arm64.deb” لنظام Ubuntu. يمثل “XXX” رقم إصدار البرنامج.

روابط تنزيل AppImageLauncher RPM وDEB

لاحظ أن هناك روابط لـ AppImageLauncherخفيف وللحصول على AppImageLauncher، استخدم روابط AppImageLauncher.


انتقل إلى الملف الذي قمت بتنزيله، وانقر عليه مرتين لبدء التثبيت. على GNOME، سيؤدي هذا إلى بدء تشغيل تطبيق “البرنامج”.

تم فتح ملف AppImageLauncher DEB في برنامج Ubuntu

على Manjaro، يمكنك تثبيت AppImageLauncher باستخدام هذا الأمر:

sudo pacman -S appimagelauncher

تثبيت AppImageLauncher على Manjaro

يمكنك تشغيل AppImageLauncher بالضغط على مفتاح “Super”. في معظم لوحات المفاتيح، يقع هذا المفتاح بين مفتاحي “Ctrl” و”Alt” الأيسر. اكتب “appim” في شريط البحث.


أيقونة AppImageLauncher في نتائج البحث عن أنشطة GNOME

ستظهر أيقونة AppImageLauncher. انقر عليها لبدء تشغيل التطبيق.

الشاشة الرئيسية لـ AppImageLauncher

هناك القليل من التكوين الذي يجب القيام به. نحتاج إلى إخبار AppImageLauncher بالدليل الذي نريده أن يراقبه. انقر فوق أيقونة “المجلد” وانتقل إلى الدليل الذي تخزن فيه AppImages عادةً. لقد حددنا دليل “التنزيلات”. يمكنك اختيار دليل فرعي إذا أردت، ربما “/Downloads/apps”.


تطبيق AppImageLauncher مع /home/dave/Downloads المحدد كدليل مراقب

إذا كنت تريد أن يعرض AppImageLauncher نقل ملفات AppImage التي يجدها في أدلة أخرى إلى الدليل الذي تراقبه، فتأكد من تحديد مربع الاختيار “اسأل عما إذا كنت تريد نقل ملفات AppImage إلى دليل التطبيقات”. ولكن إذا كان AppImageLauncher يراقب دليلاً واحدًا فقط، فكيف سيتمكن من العثور على ملفات AppImage في أي مكان آخر؟

الإجابة على هذا السؤال تكمن في علامة التبويب “appimagelauncherd”. انقر فوق علامة التبويب “appimagelauncherd” وستجد أنه من الممكن أن يراقب AppImage أكثر من دليل.

علامة التبويب appimagelauncherd لتطبيق AppImageLauncher


انقر على أيقونة “زائد” الخضراء لإضافة المزيد من الدلائل. تأكد من تحديد مربع الاختيار “بدء تشغيل برنامج التكامل التلقائي تلقائيًا”. انقر على زر “موافق” عند الانتهاء من تحديد اختياراتك.

انتظر بضع دقائق، ثم اضغط على مفتاح “Super” واكتب الجزء الأول من اسم AppImage الموجود في الدليل الذي تراقبه. في حالتنا، لدينا واحد فقط.

أيقونة FreeCAD في نتائج البحث عن أنشطة GNOME

بمجرد كتابة “free” سترى أيقونة لبرنامج FreeCAD. يؤدي النقر عليها إلى تشغيل التطبيق. إذا لم يحتوي ملف AppImage على أيقونة، فسيتم استخدام أيقونة عجلة مسننة عامة، وهو ما حدث مع FreeCAD.


لاختبار الأمور بشكل أكبر، قمنا بتنزيل ملف AppImage لـ تحت السطح التطبيق. انتظرنا حوالي 30 ثانية للتأكد من اكتشافه ودمجه، ثم ضغطنا على مفتاح “Super” وكتبنا “sub” وظهرت أيقونة التطبيق. هذه المرة، تم العثور على أيقونة التطبيق الأصلية واستخدامها.

أيقونة Subsurface في نتائج البحث عن أنشطة GNOME

النقر على الرمز أدى إلى تشغيل التطبيق. لم نكن بحاجة حتى إلى استخدام chmod لجعل AppImage قابلاً للتنفيذ.

تطبيق Subsurface الذي يتم تشغيله من AppImage

هناك لمسة لطيفة أخرى وهي أنه عند النقر بزر الماوس الأيمن على الرمز، يمكنك حذف AppImage مباشرةً من قائمة السياق.


قائمة سياق تحت السطح

هناك أيضًا خيار لتثبيت الرمز على مشغل التطبيقات لديك، مما يجعل استخدام AppImages مريحًا مثل التطبيقات الأصلية.

AppImages في تزايد

على أجهزة الاختبار الخاصة بنا، تم تحميل التطبيقات التي تم تشغيلها من AppImages بشكل أسرع قليلاً من تطبيقات Flatpak، وأسرع بكثير من تطبيقات Snap. مع AppImages، لا يوجد إطار عمل أساسي يحتاج إلى التثبيت، لذا – بصرف النظر عن المساحة المطلوبة للتطبيقات نفسها – فإن مساحة القرص الصلب لاستخدام AppImages هي صفر.

يضيف تطبيق AppImageLauncher الاختياري بعض لمسات الإتقان، ولكن يمكنك بكل سرور استخدام AppImages بدونها.


تقدم المزيد والمزيد من التطبيقات AppImages. إذا وجدت نفسك تحاول تثبيت شيء لا يبدو أنه موجود في مستودعات التوزيعة الخاصة بك، فراجع موقع الويب الخاص بالتطبيق. قد يكون لديهم AppImage.

ذات صلة: apt مقابل apt-get: ما الفرق بينهما على Linux؟

أضف تعليق