إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

التحزيم بإستخدام appimage للمطورين و المبتدئين

تقليص
هذا موضوع مثبت
X
X
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [شرح] التحزيم بإستخدام appimage للمطورين و المبتدئين

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

    - بسرعة بسرعة
    1 -حمل برنامج التحزيم
    2-إصنع مجلد بإسم test
    في داخله
    - ملف سكريبت بصلاحية التنفيذ بإسم AppRun .. لا تنسى الصلاحية .
    - الأيقونة icon.png .. اختر ما تشاء من الصور
    - ملف سطح مكتب app.desktop
    - مجلد بإسم usr في داخله مجلد بإسم bin يحتوي على الملف التنفيذي لبرنامجك او سكريبت (app.sh) ... بصلاحية التنفيذ كذلك . لا تنسى

    النتيجة
    كود:
    test test/AppRun test/app.desktop test/icon.png test/usr/bin/app.sh
    الشرح و المحتوى
    | test هو المجلد الذي يحتوي برنامجنا و لوازمه . بطبع

    AppRun هذا الملف هو اول ما سيتم تشغيله عند النقر و لا يمكن تغيير تسميته او التلاعب بحجم حروفه . أنسخه كما هو - الحرف A و R بحجم كبير الباقي صغير . و يحتوي السكريبت التالي
    كود:
    #!/bin/bash export APPDIR="$(dirname "$(readlink -f "$0")")" export PATH="$APPDIR/usr/bin/:$PATH" "$APPDIR"/usr/bin/app.sh [email protected]
    app.desktop لن يستخدمه المحزم لتنفيذ البرنامج . يحتاجه فقط لمعرفة إسم الحزمة بعد التوليد و الإيقونة . (الموجودة في نفس المجلد) و يكون كتالي

    كود:
    [Desktop Entry] Name=it_is_alive Icon=icon.png

    usr/bin/app.sh سكريبت او البرنامج المراد تشغيله .. أنا كتبت سكريبت بسيط بصلاحية التنفيذ

    كود:
    #!/bin/bash echo "hello"
    أعطي صلاحية التنفيذ لذلك الشيئ الذي قمت بتحميله و افتحه

    اضغط على الصورة لعرض أكبر. 

الإسم:	1.jpg 
مشاهدات:	1 
الحجم:	29.2 كيلوبايت 
الهوية:	855927


    "التالي" next . مثل الإخوة في العالم الأخر

    ستظهر النافذة التالية . لنتجه الى مكان مجلد test و نختاره فقط . دون الدخول إليه . سيتفعل زر Forward ..انقره و ستنتهي العملية

    اضغط على الصورة لعرض أكبر. 

الإسم:	2.jpg 
مشاهدات:	1 
الحجم:	66.2 كيلوبايت 
الهوية:	855928

    الناتج ستجده في المجلد الذي يحتوي على مجلد test (ليس داخل test ) تسمية الملف ستكون ما كتبته في app.desktop .. هنا it_is_alive
    اللهم انى أسألك العفو و العافية
    قال رسول الله (من كان يؤمن بالله واليوم الأخر فليقل خيراً أو ليصمت): فهل أنت تقول الخير ؟

  • #2
    جزاك الله خيرا ....
    ننتظر المزيد منك وشرح اوفي


    تعليق


    • #3
      جزاك الله خيرًا،

      ننتظر منك المزيد. مثل كيفية إضافة المكتبات.

      تعليق


      • #4
        ننتظر منك المزيد. مثل كيفية إضافة المكتبات.
        بطبع ..

        لإضافة المكتبات او الملفات المرفقة التي تكون في مسار /usr/share/ يكفي تحرير ملف
        AppRun و إضافة 2 مسارات

        كود:
        #!/bin/bash export APPDIR="$(dirname "$(readlink -f "$0")")" export PATH="$APPDIR/usr/bin/:$PATH" export LD_LIBRARY_PATH="$APPDIR/usr/lib:$PATH" export XDG_DATA_DIRS="$APPDIR/usr/share/:/usr/share/:$XDG_DATA_DIRS" "$APPDIR"/usr/bin/app.sh [email protected]
        كود:
        
        
        الأول سيوجه البرنامج لإستخدام المكتبات المرفقة له .. إذا لم يجدها سيبحث في مجلد النظام
        الثاني نفس الشيئ لكنه مخصص للملفات المرفقة
        -لاحظ المتغير APPDIR يحمل مسار المجلد الذي موجود فيه المشروع . فيمكنك تشغيل برنامجك من سكريب
        AppRun قبل تحزيمه لمعرفة اي خطأ
        -إذا صنعت الحزمة و تريد إعادة فتحها لتغير فيها . او نزلت برنامج من هذا النوع و تريد معرفة طريقة تحزيمه او استخراج ملف منه - اتجه الى مسار tmp في جهازك
        و أكشف الملفات المخفية
        ستجد مجلدات او مجلد بإسم
        .mount_XXXXXX

        اللون الاحمر هي حروف و ارقام عشوائية سوف يصنعها المحزم لكي لا تتداخل برامج appimage . عند فتح المجلد ستجد المشروع كامل لكن للقراءة فقط - قم بنسخه الى اي مكان و عدل فيه
        اللهم انى أسألك العفو و العافية
        قال رسول الله (من كان يؤمن بالله واليوم الأخر فليقل خيراً أو ليصمت): فهل أنت تقول الخير ؟

        تعليق


        • #5
          ممتاز!
          قمت لتوي بثلاث التجارب ونحجت في التحزيم
          الأولى السكريبت البسيط الذي من طرفك.
          الثانية على بايثون و Gtk3
          الثالثة ملف تنفيذي بكيوتي 5.
          لكن الملاحَظ أن حجم الملف لا يتعدى الحجم الأصلي للمجلد تقريبا، أي أن البرنامج يقوم بتحزيم ما هو موجود في مجلد المشروع فقط.
          هل هناك طريقة ليبحث البرنامج ويحمل تلقائيا المكتبات اللازمة؟ أو يجب إدراجها يدويا في مجلد المشروع.

          الملفات:
          Test2.tar.gz
          Test3.tar.gz

          تعليق


          • #6
            ما هو موجود في مجلد المشروع فقط.
            نعم
            هل هناك طريقة ليبحث البرنامج ويحمل تلقائيا المكتبات اللازمة؟ أو يجب إدراجها يدويا في مجلد المشروع.
            يدويا . لكن يمكن صنع سكريبت يفعل ذلك

            ملاحظة :
            يمكن ضغط المكتبات و الملفات داخل appimage

            كود:
            #!/bin/bash export DATA="$(dirname "$(readlink -f "$0")")" export APPDIR="/tmp/folder/" export PATH="/$APPDIR/usr/bin/:$PATH" export LD_LIBRARY_PATH="$APPDIR/usr/lib:$PATH" export XDG_DATA_DIRS="$APPDIR/usr/share/:/usr/share/:$XDG_DATA_DIRS" mkdir -p $APPDIR tar -zxvf "$DATA/data.tar.gz" -C $APPDIR "$APPDIR"usr/bin/main.py [email protected]
            المجلد يكون هكذا
            كود:
            app.desktop AppRun data.tar.gz icon.png
            اللهم انى أسألك العفو و العافية
            قال رسول الله (من كان يؤمن بالله واليوم الأخر فليقل خيراً أو ليصمت): فهل أنت تقول الخير ؟

            تعليق


            • #7
              ماشاء الله علي تفاعلك اخي الحبيب بارك الله لك


              تعليق

              يعمل...
              X