أول تجربة لي على flatpak

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته


أول تجربة لي على flatpak .


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


1-بنية flatpak وبعض الشرح عنه ستتوضح الأمور أكثر أثناء التطبيق العملي.



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



-ثانيا لتنزيل برنامج من الإنترنت remotely أي من مكان بعيد شيء كإستخدام أي مدير حزم أي التنزيل سيتم من مكان بعيد من خلال الإنترنت, هنا كما أي مدير حزم نحتاج إضافة مستودع هذا المستودع بشكل إفتراضي سيظهر لكل المستخدمين في النظام وسيحفظ إعداداته  في var/lib/flatpak/repo/ و ممكن ان نجعله يظهر للمستخدم فقط من خلال إضافة خيار user-- وسيتم حفظ إعدادات المستودع  في مجلد مثلا للمستخدم عندي في home/youcef/.local/share/flatpak/repo/  كل مستودع في هذا المجلد لن يظهر إلا لمستخدم youcef .



-ثالثا كما المستودعات الملفات المعزولة  للبرامج ذات الشيء لكل المستخدمين سيتم حفظ ملفات البرامج في مجلد var/lib/flatpak/app/  ولمستخدم واحد من خلال خيار user-- مثلا عندي سيتم حفظ ملفات البرامج في home/youcef/.local/share/flatpak/app/ .



-رابعا كما نعرف لكل مستخدم إعدادات خاصة للبرامج يكونو في مجلد المنزل الخاص به مثلا عندي الإعدادات في مجلد home/youcef/.config/   , أيضا لهذه البرامج المعزولة أيضا ملفات إعادادت تكون في مجلد المنزل الخاص بالمستخدم مثلا عندي home/youcef/.var/app/ .



 -خامسا أثناء القراءة عن flatpak ستواجه مصطلحين  runtime و app .

الاول runtime بشكل بسيط لنفترض أن التطبيقات applications هي أجزاء من السيارة و runtime هي هيكل السيارة أي الأساس.

مثل بسيط إذا اردت تنزيل أي تطبيق من مشروع gnome مثلا برنامج gedit وcalculator تحتاج أولا لمرة واحدة تنزيل runtime الخاص يجنوم وممكن أن يكون أكثر من runtime على حسب البرنامج ماذا يطلب ثم بعدها تقوم بتنزيل أي تطبيق من مشروع جنوم .

ملاحظة الruntime ينزل مرة واحدة وتتشاركه كل البرامج التي تحتاجه يعني لن نحتاج تنزيله لكل برنامج على حدى مثال لنفترض نريد تنزيل gedit وcalculator نقوم بتنزل gnome runtime مرة واحدة ويتم مشاركته بين الإثنين .








2-بعض التطبيق العملي .



-أولا تثبيت flatpak و شيء لن نحتاجه في الشرح إسمه flatpak-builder لكن لربما تابعنا شرح يحتاجه يكون جاهز.

sudo dnf install flatpak flatpak-builder



-ثانيا ساقوم بتنزيل gedit و calculator كما في الشرح في هذا الربط في الأسفل .

http://flatpak.org/#users

أول خطوى تنزيل runtime الخاص بجنوم  أولا  نقوم بتنزيل ملف التحقق ثم نضيف المستودع الذي يحتوي runtime و أيضا نضيف مستودع أخر الذي يحتوي البرامج .

cd && wget https://sdk.gnome.org/keys/gnome-sdk.gpg


sudo flatpak remote-add --gpg-import=gnome-sdk.gpg gnome https://sdk.gnome.org/repo


sudo flatpak remote-add --gpg-import=gnome-sdk.gpg gnome-apps https://sdk.gnome.org/repo-apps


كما ذكرت سابقا لإضافة المستودع للمستخدم الخاص بنا نضيف خيار user-- وعندها نلاحظ اننا لسنا بحاجة لأمر sudo وسأستخدم هذه الطريقة في الشرح.


cd && wget https://sdk.gnome.org/keys/gnome-sdk.gpg


flatpak remote-add --gpg-import=gnome-sdk.gpg gnome https://sdk.gnome.org/repo --user


flatpak remote-add --gpg-import=gnome-sdk.gpg gnome-apps https://sdk.gnome.org/repo-apps --user




الان كيف تم الأمر .

أولا قمنا بتنزيل ملف التحقق gpg في المجلد الذي نعمل منه الملف إسمه gnome-sdk.gpg ,لن أدخل بتفاصيله لأنه ليس موضوعنا .


ثانيا إضافة المستودعات .

1-نكتب أمر flatpak .

2-أمر remote-add يعني إضافة مستودع بعيد أو شيء كهذا.

3-أمر gpg-import إضافة المفتاح الذي قمنا بتنزيله .

4-نضع إسم للمستودع حتى نستطيع التعامل معه نلاحظ إسم المستودع لruntime هو gnome وإسم المستودع للبرامج هو gnome-apps .

5-رابط المستودع .

6-كما ذكرت ممكن إضافة خيار user-- ليتم حفظ المستودع في مجلد المنزل الخاص بنا وبالتالي نحن فقط يمكن التعامل مع هذه المستودعات .




-ثالثا تثبيت rumtime gnome ملاحظة قد يكون حجم التنزيل كبير قليلا .

flatpak install gnome org.gnome.Platform 3.20 --user

1-أمر flatpak .

2-أمر التثبيت install .

3-إسم المستودع الذي نريد التنزيل منه .

4-إسم ال runtime و هو خاص بجنوم  .

5-رقم الإصدار 3.20 .

6-خيار user-- سبق وشرحته .




-رابعا تثبيت gedit و calculator .

أولا إستعراض البرامج الموجود في مستودع  gnome-apps ونلاحظ كما في الصورة في الأسفل إذا كان المستودع تمت إضافته للمستخدم يجب أن نضيف user-- حتى يبحث عنه في مجلد المنزل الخاص به بالتحديد مثلا عندي في home/youssef/.local/share/flatpak/repo/  , كما ذكرت في أول الشرح إذا لم نكتب user-- سيبحث عن المستودع في var/lib/flatpak/repo/ .







ثانيا تثبيت gedit و calculator .







1-أمر flatpak .

2-أمر التثبيت install .

3-إسم المستودع الذي نريد التنزيل منه وهنا للبرامج إسمه gnome-apps .

4-إسم البرنامج أو التطبيق  .

5-رقم الإصدار هنا إخترنا كلامة stable أي أخر إصدار مستقر متوفر .

6-خيار user-- سبق وشرحته .



ثالثا لتشغيل أي منهم نبحث عنهم في قائمة البرامج إذا لم نجده  نكتب مثلا .


flatpak run org.gnome.gedit

flatpak run org.gnome.Calculator








 هذا ليس كل شيء هذا مجرد مدخل حيث ممكن إضافة مستودع ل runtime ثم تثبيته ثم تنزل ملف البرنامج بشكل يدوي مثال عن libreoffice في الرابط في الأسفل ,لا ننسى قراءة الملاحظات .






 أخيرا لمزيد من المعلومات نكتب كما في الأسفل ونطلع على الروابط في الأسفل .

flatpak --help

man flatpak
























شارك الموضوع

مواضيع ذات صلة

التسميات

2016 (1) 23 (1) 24 (3) 25 (1) 26 (1) 27 (1) 28 (1) 29 (1) 30 (1) 31 (1) إتصال (1) إختراق (2) أدة (1) أدوات (1) إرسال (1) أرش (1) إسترجاع (1) إستعلام (1) أشياء (7) أشياء تفعلها (8) إصدارات (1) إصلاح (6) إصلاحrealtek (1) إضافات (1) إضافة (1) أعجوبة (1) أعجوية (1) إعداد (1) إقاف (2) أقسام (1) ألعاب (2) الفرق (1) الفلاشة (1) القسم هوم (1) الكتابة بالعربية (1) إلى جانب (1) أندرويد (1) إنشاء (1) إنشاء مستودع (1) أيات (1) أيزو (1) أيقومات (1) أيقونات (1) ايقونات (2) باتش (1) بارامتر (1) بايثون (16) برامج (56) برامج إسلامية (2) برنامج (19) برودباند (1) بعد (7) بعد التثبيت (8) بلوتوث (1) بناء (1) بناء توزيعة (1) بيئة عمل (1) تثبيت (29) تجهيز (2) تجهيو من دون (2) تحزيم (2) تحقق (1) تحويل (1) تخصيص (5) ترجمة (2) ترقية (1) تسجيل الشاشة (1) تشغيل (3) تعريف (13) تعطيل (2) تعلم (6) تفعلها (7) تفعيل (2) تقطع الأحرف (1) تقعيل (1) تنزيل (2) تورنت (1) توزيعة (1) توسعة (1) ثيم (5) ثيمات (1) جافا (1) جماليات (7) جنوم (1) حجم (1) حرق (2) حزمة (1) حل (2) دالة (1) دورة (1) روتر (1) ريدهات (2) سكربت (2) شرح (11) صورة متحركة (1) فايرفوكس (1) فتح منفذ (1) فصل (1) فلاشة (3) فيدورا (29) فيدورا بالعربي (1) قاموس (1) كالي (2) كتاب (2) كتب (2) كرت (1) كروت الشاشة (1) كلمة المرور (2) كورس (1) كورورا (1) لعبة (1) لينكس (2) لينكسو (1) ماهو (6) متغير البيئة (1) مجانا (1) محاكات (2) محاكي (1) محمل الإقلاع إصلاح (1) محمول (1) مستودعات (1) مشكلة (2) ملف نصي (1) من إصدار (1) نظام ملفات (1) نمط (2) نواة (1) هجين (4) واجهات (1) وايرلس (1) وهمي (2) ويندوز (2) access token (1) active (2) add (1) after (7) alias (1) andoid studio (1) android (2) android studio (1) Apache (2) appstream (1) arboot (1) arboot fix (1) arch (3) archiso (1) arfedoraccframework (3) arfedoracontrolcenter (3) arfedy (1) atari (1) atom (1) ayat (1) bicon (1) blivet (1) blivet-gui (1) bls (1) bluetooth (1) book (2) books (2) bootloader fix (1) boxes (3) broadband (1) broadcom (1) broadwayd (1) bugzilla (1) build (2) builddep (1) bumblebee (1) bumbleebe (2) burn (2) byzanz (1) c# (1) calamares (1) camera (1) cannot open display (1) cannot open display: :0 (1) ccna (1) cd (2) centos (1) change (2) chsh (1) cisco (1) clion (1) clone (1) code.org (1) command (2) command line (2) commands (2) comps (1) connect (1) contra (1) convert (1) copr (1) could not connect to the debugger (1) cpu (1) cpufreq (1) createrepo (1) csharp (1) css (1) curlew (1) custom (2) dbus (3) dconf (1) dd (1) Decryption (1) defragment (2) desktop (1) desktop entry (1) dictionary (1) Digital signature (1) disks (1) dnf (14) do (7) docker (1) dolphine (1) download (2) downloads manager (1) dply (1) DRI PRIME (1) driver (9) dukto (1) e2fsck (1) efi (4) el forkane (1) elforkane (1) elif (1) emergency (3) emergency mode (3) emulator (1) enable (2) Encryption (1) entries (1) error mounting /dev/sd (1) ext4 (1) extend (1) extensions (2) fakenes (1) fast startup (2) fceux (1) fedora (45) fedora 25 alpha (1) fedora cloude (1) fedora28 (1) fedoraوفيدورا (1) fedy (1) fgmac (2) fgmac-24 (1) file (1) find (1) firefox (2) fix (10) flash mem (1) flash memory (2) flashplayer (1) flatpak (4) forward (1) fpaste (1) free (1) freebsd (1) freevpn (1) function (1) game (3) games (2) gedit (1) genymotion (1) gettext (1) gif (1) gimp (1) gio (1) github (5) github.io (1) glibc-common (1) gmaclinux (2) gnome (16) gnome boxes (1) gnome disk (1) gnome shell (13) gnome terminal (1) gnome-disks (1) gnu (1) godot (1) goldendict (1) google web designer (1) gpg (2) gradio (1) group (2) grub (7) grub2 (1) grubenv (1) gstreamer (1) gtk (8) gtk+ (1) gvrecord (1) hack (2) hash (4) hdmi (3) hibernate (1) home (2) hosspot (1) html (1) http (1) hybrid (2) icon (2) icons (3) ide (1) if (1) install (32) installf (9) installing (7) intellij idea (1) internet downlaod manager (1) iso (2) java (3) jdk (2) jetbrains (1) jetbrains toolbox (1) kali (2) kde (3) kernel (1) kernel parameters (1) key (1) kickstarts (3) korora (1) krita (1) kvm (2) kvm switches (1) lamp (1) laps (1) learn (1) legacy (1) legacy bios (3) libreoffice (2) libvirt (1) life is trange (1) linux (8) lutris (1) lv (1) lvm (2) mac (4) macros (1) mageia (1) make distro (1) mariadb (1) MariaDB and PHP Lamp Server (1) markdown (2) mate terminal (1) mbr (1) md5sum (1) mirro (1) mkconfig (1) mo (1) mono (2) monodevelop (2) mount (1) mp4 (1) multi screen (1) mumble (1) murmur (1) natron (1) nautilus (2) nes (1) netbeans (1) netcut (1) nintendo (1) ntfs (2) nvidia (8) objdesktop (1) ojuba (2) oop (1) opensuse (1) openvpn (1) opera (1) optirun (2) oracle (1) os.path (1) package (2) page (1) pages (1) pantheon (1) parameter (1) parameters (1) password (2) patch (1) path (2) pdf (1) peek (1) photoshop (1) php (1) phpstorm (1) plasma (2) plugin (3) plugins (1) plymouth (1) po (1) polkit (1) port (1) portable (1) portmatp (1) PostinstallerF (1) pot (1) powerline (2) powerline-go (1) preset (1) preview (1) primary display (1) primeos (1) primus (1) primusrun (1) private key (1) programs (3) protonvpn (1) pubg (1) public key (1) put (1) pv (1) pycharm (2) pygobject (4) pygtk (5) python (56) pythonk (1) qdbus (1) qemu (3) qemu-kvm (1) query (1) radio (1) raspberry pi (4) raspbian (2) reclaim space (2) record (1) redhat (3) remix (1) remix os (1) repo (4) repofrompath (1) repository (1) reset (1) resize2fs (1) rhel (1) router (1) rpm (7) rpmbuild (1) rtl8188ee (1) rtl8192c (1) rtl8192ce (1) rtl8192cu (1) rtl8192de (1) rtl8192ee (1) rtl8192se (1) rtl8723ae (1) rtl8723be (1) rtl8723com (1) rtl8821ae (1) rubymine (1) salix (1) scratch (2) scratch2.scratch 2 (1) screencast (1) script (2) seconday display (1) self (1) send (1) server (1) settings (2) sha1256sym (1) sha256sum (1) share desktop (1) shell (2) shortcut (1) shutter (1) skel (1) skel ماهو (1) skype (1) skype.برامج (1) slackware (1) software (1) soundcloud (1) source code (1) spec (2) spin (1) sqlmap (1) ssh (3) sshd (2) st-trans (1) steam (2) store (1) su (1) sudo (2) sudoers (1) swap (2) switch (2) Switchable Graphics (1) synergy (1) systemd (1) systemd preset (1) teamviewer (1) terminal (2) theme (5) things (7) thomson (1) thread (2) threading (2) thumbnails (1) to (8) tor (2) tor browser (1) torrent (1) transfer closed with 736700 bytes remaining to read (1) translation (1) turn off (2) tuxcut (1) txt (1) ubuntu (1) uefi (5) unable to mount location (1) unity (1) unity3d (1) upgrade (1) usb (1) useradd (2) utf-8 (1) vega (1) verify (1) vg (1) vgaوتبديل (1) vi (1) video (1) vim (1) vino (1) virsh (1) virt-install (1) virt-manger (1) virtual (1) virtual box (1) virtualbox (3) vmware (3) vnc server (1) vokoscreen (1) vpn (1) web server (1) webstorm (1) wifi (1) windows (4) windows-1256 (1) wine (1) woeusb (1) X Error: BadAccess (1) X Error: BadDrawable (1) xdg-mime (1) xdman (1) xfce (1) xfconf-query (1) yum (2) zeal (1) zealdocs (1)