كيفية استخدام AppImages على Linux
نشرت: 2022-09-27تتيح AppImages لمطوري Linux لف تطبيقاتهم في ملف واحد يتم تثبيته على أي توزيعة Linux. هذا يبسط الأمور بشكل هائل. إليك كيفية استخدامها ودمجها في سطح المكتب.
تثبيت البرنامج على لينكس
يجب أن يكون تثبيت البرنامج بسيطًا ومريحًا. إن مدى بساطة هذا الأمر ومدى ملاءمته يعود إلى حد كبير إلى مدير الحزم للتوزيع الخاص بك. مديرو الحزم عبارة عن تطبيقات برمجية تتيح لك تنزيل برامج Linux الأخرى وتثبيتها.
تميل توزيعات Linux المشتقة إلى استخدام مديري الحزم للتوزيع الأصلي. على سبيل المثال ، تستخدم العديد من متغيرات ومشتقات دبيان apt
، وتستخدم توزيعات RedHat و Fedora dnf
، وتستخدم عائلة Arch من التوزيعات pacman
. لذلك ، لحسن الحظ ، لا يوجد العديد من مديري الحزم هناك توزيعات.
ومع ذلك ، من وجهة نظر المطور ، فإن دعم جميع تنسيقات الحزم المختلفة يعني تغليف تطبيقك في ملف DEB لعائلة دبيان ، في RPM لعائلة RedHat ، وما إلى ذلك. هذا كثير من النفقات الإضافية.
هذا يعني أيضًا أنه إذا لم يقم المطورون ولا أي شخص آخر بإنشاء حزمة تثبيت لتوزيعك ، فلا يمكنك تثبيت هذا البرنامج. على الأقل ، ليس أصليًا.
قد تكون قادرًا على طرح حزمة من توزيع مختلف على جهاز الكمبيوتر الخاص بك ، ولكن هذه ليست طريقة خالية من المخاطر ولا مضمونة للعمل. إذا كنت تعرف ما تفعله ، يمكنك تنزيل الكود المصدري وإنشاء التطبيق على جهاز الكمبيوتر الخاص بك ، ولكن هذا بعيد كل البعد عن كونه بسيطًا ومريحًا.
تم تصميم مشاريع مثل Snap و Flatpak للتغلب على مشكلة تغليف التطبيقات لكل توزيع. إذا كان بإمكانك لف حزمة في ملف واحد بحيث تأتي مجمعة مع المكتبات المناسبة وأي تبعيات أخرى بها ، بحيث لا تطالب (تقريبًا) نظام التشغيل المضيف ، فيجب أن تكون قادرة على التشغيل على أي توزيع.
مشروع AppImage هو مجرد مبادرة من هذا القبيل. AppImage هو اسم المشروع ، و AppImages هو اسم التطبيقات المغلفة.
كيف تعمل AppImages
لم يتم تثبيت ملفات AppImage بالمعنى التقليدي. يتم تضمين جميع ملفات المكونات التي تشكل حزمة التطبيق داخل ملف واحد. لا يتم فك حزمها وتخزينها في دلائل مختلفة في نظام الملفات.
التطبيق الذي تم تثبيته من قبل مدير الحزم الخاص بك سيتم نسخه القابل للتنفيذ في دليل "/ bin" المناسب ، وسيتم تخزين صفحاته في الدليل "/ usr / share / man
" ، وهكذا. خطوة التفريغ والنسخ هذه لا تحدث مع AppImages.
يوجد نظام ملفات داخل AppImage ، عادةً ما يكون نظام ملفات squashFS. يتم تخزين الملفات المطلوبة لتشغيل التطبيق داخل نظام الملفات هذا ، وليس في نظام الملفات الرئيسي لتثبيت Linux. عندما يتم تنفيذ AppImage ، فإنه يطلق أحد البرامج المساعدة الداخلية الخاصة به والذي يقوم بتحميل نظام ملفات squashFS في "/ tmp / mount" بحيث يمكن الوصول إليه من نظام الملفات الرئيسي الخاص بك. ثم يقوم بتشغيل التطبيق نفسه.
هذا هو السبب في أن تشغيل التطبيقات من Snaps و Flatpaks و AppImages يكون أبطأ قليلاً من تشغيل تطبيق عادي. لكي يعمل كل هذا ، يجب أن يحتوي نظام الملفات المضيف على شيء يسمى "نظام الملفات في مساحة المستخدمين" مثبتًا. هذه هي التبعية الوحيدة التي يضعها AppImages على المضيف. عادةً ما يتم تثبيت FUSE مسبقًا على توزيعات Linux الحديثة.
استخدام ملف AppImage
أول شيء عليك القيام به هو تنزيل AppImage للتطبيق الذي تريده. لن تكون هذه في مستودع التوزيع الخاص بك. عادة ، تجدها على موقع الويب للتطبيق نفسه.
سنقوم بتنزيل واستخدام FreeCAD ، وهي حزمة تصميم ثلاثية الأبعاد مفتوحة المصدر بمساعدة الكمبيوتر. تصفح إلى صفحة تنزيل FreeCAD وانقر فوق الزر "64 بت AppImage".
عندما يتم تنزيله ، حدد موقع الملف في نافذة طرفية. ما لم تقم بتغيير الإعدادات الافتراضية على متصفح الويب الخاص بك ، فمن المحتمل أن تكون في دليل "التنزيلات". نحن بحاجة إلى جعل AppImage قابلاً للتنفيذ. سنستخدم الأمر chmod
لإضافة الإذن -x
(القابل للتنفيذ).
chmod + x FreeCAD-0.20.0-Linux-x86_64
لقد قمنا بتنزيل ملفنا وجعلناه قابلاً للتنفيذ. لتنفيذه يمكننا تسميته بالاسم.
./FreeCAD-0.20.0-Linux-x86_64.AppImage
هذا كل ما كان علينا فعله في Fedora و Manjaro. في Ubuntu 22.04 ، كان علينا تثبيت ملف مكتبة. تم تثبيت FUSE بالفعل على Ubuntu 22.04 ، لكنه إصدار أحدث من الإصدار الذي تستخدمه غالبية AppImages. لا يؤثر تثبيت ملف المكتبة على الإصدار المثبت من FUSE.
sudo apt تثبيت libfuse2
أدى ذلك إلى حل المشكلة على الفور ، ويمكننا تشغيل AppImages بدون مشكلة على Ubuntu Jammy Jellyfish 22.04.
كل هذا رائع. ولكن ماذا لو كنت تريد الحصول على كعكتك وتأكلها؟ تخيل لو كانت هناك طريقة لاستخدام AppImages لا تتطلب منك تشغيلها من نافذة طرفية. سيكون أكثر ملاءمة أن تكون قادرًا على تشغيل تطبيقات AppImage تمامًا مثل التطبيقات الأصلية العادية.
هناك تناقض واضح هنا - بيت القصيد من AppImages هو أنها لا تقوم بتثبيت نفسها بالمعنى التقليدي ، بما في ذلك عدم دمجها في سطح المكتب الخاص بك. لكن هذا ممكن مع ذلك مع AppImageLauncher.
AppImageLauncher
يراقب AppImageLauncher دليلاً معينًا. يقوم بمسح الدليل ، ويبحث عن ملفات AppImage. لكل واحد يعثر عليه ، فإنه يستخرج رمز التطبيق (إذا كان هناك واحد) ويدمج AppImage في سطح المكتب ، مثل تطبيق عادي.
يتكرر هذا لكل AppImage جديد يتم إضافته إلى الدليل. عندما يكتشف أن AppImage قد تم حذفه ، فإنه يزيل التكامل. لذلك ، بمجرد إسقاط ملفات AppImage التي تم تنزيلها في الدليل المراقب ، يتم دمجها في بيئة سطح المكتب لديك.
إذا كنت تستخدم Ubuntu أو Fedora ، فانتقل إلى صفحة تنزيل AppImageLauncher وانقر على رابط "الأصول" في قسم "إصدار الإصدار (الأحدث)".
انقر على رابط "appimagelauncher-XXX.x86_64.rpm" الخاص بـ Fedora ، أو ملف "appimagelauncher_XXX.bionic_arm64.deb" لـ Ubuntu. يمثل "XXX" رقم إصدار البرنامج.
لاحظ أن هناك روابط لـ AppImageLauncher Lite و AppImageLauncher. استخدم روابط AppImageLauncher.
انتقل إلى الملف الذي تم تنزيله وانقر فوقه نقرًا مزدوجًا لبدء التثبيت. في جنوم ، سيبدأ هذا التطبيق "البرنامج".
في Manjaro ، يمكنك تثبيت AppImageLauncher باستخدام هذا الأمر:
sudo pacman -S appimagelauncher
يمكنك تشغيل AppImageLauncher بالضغط على مفتاح "Super". في معظم لوحات المفاتيح ، يقع بين مفتاحي "Ctrl" و "Alt" الأيسر. اكتب "appim" في شريط البحث.
ستظهر أيقونة AppImageLauncher. انقر فوقه لبدء تشغيل التطبيق.
هناك قدر ضئيل من التكوين يجب القيام به. نحتاج إلى إخبار AppImageLauncher بالدليل الذي نريده أن يراقب. انقر فوق رمز "المجلد" وتصفح للوصول إلى الدليل الذي عادةً ما تخزن فيه AppImages. اخترنا دليل "التنزيلات". يمكنك اختيار دليل فرعي إذا أردت ، ربما "/ Downloads / apps".
إذا كنت تريد أن يعرض AppImageLauncher نقل AppImages الذي يعثر عليه في أدلة أخرى إلى الدليل الذي تتم مراقبته ، فتأكد من تحديد خانة الاختيار "اسأل ما إذا كنت تريد نقل ملفات AppImage إلى دليل التطبيقات". ولكن إذا كان AppImageLauncher يراقب دليلًا واحدًا فقط ، فكيف سيجد AppImages في أي مكان آخر؟
تكمن الإجابة على ذلك في علامة التبويب "appimagelauncherd". انقر فوق علامة التبويب "appimagelauncherd" وستلاحظ أنه من الممكن أن تراقب AppImage أكثر من دليل واحد.
انقر فوق رمز "Plus" الأخضر لإضافة المزيد من الأدلة. تأكد من تحديد مربع الاختيار "Auto Start Auto-Integration Daemon". انقر فوق الزر "موافق" عندما تحدد اختياراتك.
انتظر بضع دقائق ، ثم اضغط على مفتاح "Super" واكتب الجزء الأول من اسم AppImage الموجود في الدليل الذي يتم مراقبته. في حالتنا ، لدينا واحد فقط.
بمجرد كتابة كلمة "free" ، سترى رمز FreeCAD. يؤدي النقر فوقه إلى تشغيل التطبيق. إذا كان ملف AppImage لا يحتوي على رمز ، فسيتم استخدام رمز عجلة مسننة عامة ، وهو ما كان عليه الحال مع FreeCAD.
لاختبار الأشياء بشكل أكبر ، قمنا بتنزيل ملف AppImage لتطبيق Subsurface. انتظرنا حوالي 30 ثانية للتأكد من اكتشافها ودمجها ، ثم ضغطنا على المفتاح "Super" ، وكتبنا كلمة "sub" وظهرت أيقونة التطبيق. هذه المرة ، تم العثور على الرمز الأصلي للتطبيق واستخدامه.
يؤدي النقر فوق الرمز إلى تشغيل التطبيق. لم نكن بحاجة حتى إلى استخدام chmod
لجعل AppImage قابلاً للتنفيذ.
لمسة أخرى لطيفة هي أن النقر بزر الماوس الأيمن على الرمز يتيح لك حذف AppImage مباشرة من قائمة السياق.
هناك أيضًا خيار لتثبيت الرمز في المشغل الخاص بك ، مما يجعل استخدام AppImages ملائمًا مثل التطبيقات الأصلية.
AppImages آخذ في الارتفاع
على أجهزة الاختبار الخاصة بنا ، تم تحميل التطبيقات التي تم إطلاقها من AppImages بشكل أسرع قليلاً من تطبيقات Flatpak ، وأسرع كثيرًا من تطبيقات Snap. مع AppImages ، لا يوجد إطار عمل أساسي يحتاج إلى التثبيت ، لذلك - بصرف النظر عن المساحة المطلوبة للتطبيقات نفسها - فإن أثر محرك الأقراص الثابتة لاستخدام AppImages هو صفر.
يضيف تطبيق AppImageLauncher الاختياري بعض لمسات البراعة ، ولكن يمكنك استخدام AppImages بدونه.
المزيد والمزيد من التطبيقات تقدم AppImages. إذا وجدت نفسك تحاول تثبيت شيء لا يبدو أنه موجود في مستودعات التوزيع الخاص بك ، فتحقق من موقع التطبيق. قد يكون لديهم AppImage.
ذات صلة: apt مقابل apt-get: ما هو الفرق في Linux؟