أشياء تفعلها بعد تثبيت فيدورا 31/30


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





أشياء تفعلها بعد تثبيت فيدورا 31/30 وما بنيه عليها:



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

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

بعض التعريف ب lutris


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




ما هو lutris ؟


قد يكون سمعت انها منصة ألعاب لاكن ما معنى هذا الكلام سأوضح اﻷمر من خلال طرح سؤال ثم الجواب عنه .


لنفترض تريد بالطريقة التقليدية تثبيت لعبة تعمل على ويندوز من خلال wine وبعض الادوات المساعدة ماذا تفعل ؟

بكل بساطة تقوم بتثبيت wine و إنشاء إذا صح التعبير بيئة windows و تقوم بتثبيت بعد الأشياء التي قد تحتاجها اللعبة مثلا نسخة ما من directx و غيره ...إلخ ثم تشغل ملف التثبيت exe من خلال wine و....إلخ


لنفترض تريد بالطريقة التقليدية تثبيت لعبة من خلال steam  ؟

تقوم بتنزيل steam وعمل حساب والدخول على البرنامج وتثبيت ما تشاء.


لنفترض تريد بالطريقة التقليدية تشغيل لعبة تعمل على محاكي ما مثلا محاكي ps2  ؟

تقوم بتنزل محاكي ps2 وتقوم بتنزيل ما يسمى في بعض المحاكيات rom وتشغل ال rom من خلال المحاكي .



الأن ما الجديد الذي يقدمه lutris ؟


الذي يقدمه عدت أشياء منها وليس كلها كالأتي :

1-أولا مركز موحد ممكن منه عمل كل ما ذكر في اﻷعلى لاكن بطريقة مؤتممة أي ممكن كتابة ما يسمى سكربتات يتعرف عليها lutris ويشغلها ويقوم هذا السكربت بما يلزم مثلا بحالة wine يقوم بعمل بيئة ويندوز ومثلا إذا كتب في السكربت تنزيل directx يقوم بتنزيله و...إلخ أي ممكن الطلب من السكربت عمل كل شيء بشكل مؤتمم وليس بشكل يدوي (السكربت عبارة عن ملف YAML) .

2-يوفر lutris متجر ألعاب في الحقيقة هو مستودع لسكربات لتثبيت الألعاب هي سكربتات كتبها شخص ما لتثبيت لعبة ما وشاركها مع الجميع لاكن طبعا في حالة المتجر قد يوفر مثلا معلومات عن اللعبة وملاحظات وصور screenshot و...إلخ مشاركة الأخرين نفس الإهتمامات والتجارب يساعد أكثر بنجاح عمل اللعبة وتثبيتها .

3-يوفر أيضا  إعدادات تسهل العمل مثلا ممكن تشغيل اللعبة على نسخة محددة من wine و مثلا ممكن تغير إعدادات wine بسهولة .

4-يوفر سهولة في الإستعانة ببرمجيات تدعم تشغيل الألعاب على لينكس مثل DXVK  وكل هذا بطريقة سهلة ورسومية .

5-ويوفر أيضا مركز يعمل مثل launcher للألعاب أي تدخل على البرنامج وتجد الألعاب المثبته أمامك تختار ما تريده وتشغله .

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


حتى يفهم ماذا أقصد من سكربات تثبيت هذا سكربت كتبته كتجربة .


ببساطة إذا قمت يتشغيل هذا السكرب في الاسفل  من خلال lutris يقوم وبشكل رسومي تنفيذ ما طلبته منه مثلا الطلب من المستخدم إدخال ملف تثبيت برنامج Scratch 3 ثم يتم تنفيذ باقي السكربت.

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

wget https://raw.githubusercontent.com/yucefsourani/my_lutris_scripts/master/scratch333.yml

lutris -i scratch333.yml









ما هو ال runners ؟



يوفر lutris ما يسمى runners بكل بساطة كل runner يوفر طريقة لتثبيت وتشغيل الألعاب وحتى البرامج في حالة wine من مصدر مختلفة مثلا قد يكون runner wine لتشغيل برامج ويندوز على لينكس أو runner steam ل steam أو runner خاص بالمحاكيات وكهذا ...إلخ أي هو شيء برمجي هكذا هم رتبو الأمر وقسموه, نلاحظ في الصورة في اﻷعلى ممكن تنزيل ال runner الذي نحتاجه ولدي بالفعل كما يظهر على جهة اليسار runner wine و runner linux وBrowser.





بعض الصور عن الإعدادات وبعض المعلومات .

















 ممكن البحث عن الألعاب في المتجر بهذه الطريقة نضغط على شكل البحث ثم نكتب إسم اللعبة ثم نضغط على كلمة Search Lutris.net .






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




التعامل مع إعدادات محمل الإقلاع إبتداءً من فيدورا 30


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



مع جديد فيدورا 30 بما يخص محمل الإقلاع ؟


سأبدأ أولا بشرح على السريع ومبسط لبعض الأشياء التي تهمنا من دون تفصيل .


في السابق عندما كنا نريد إدخال تغيرات مثلا التعديل على البارامترات التي تمرر للنواة (kernel command line arguments) وتثبيت هذه التعديلات كنا نعدل على هذا الملف etc/default/grub/  ثم نقوم بطلب الأخذ بالتغيرات وتحديث ما يسمى boot menu من خلال أداة mkconfig.

في الإصدرا 30 من فيدورا هناك بعض الأشياء الجديدة سموها Boot Loader Specification وإختصارها BLSCFG أو BLS (سأعتمد إختصار BLS في الشرح لتسهيله) وهي ببساطة تغير طريقة أخذ محمل الإقلاع الإعدادات.

هذا موضوع قديم يشرح الطريقة القديمة .
https://arfedora.blogspot.com/2016/09/parameters.html




ما هي التغيرات التي تهم المستخدم أو حتى المطور ؟


أولا كل نواة لها ملف إعدادات خاص يأخذ منه إعدادات محمل الإقلاع ومنها البارامترات للنواة ,عندما يقوم النظام بتثبيت أي نواة يأتي معها هذا الملف ولست بحاجة لتغير أي شيء ومسار هذه الملفات هو boot/loader/entries/ كل ملف يتم تسميته  بإسم يدل على إصدار النواة ورقم خاص يكون محفوظ في هذا الملف etc/machine-id/  وينتهي إسم الملف باللاحقة conf.





1-هذا الرقم الخاص في ملف etc/machine-id/.

2-هذه هي ملفات الإعدادات نلاحظ كيف يتم تسميتها.

3-هذه الأنوية المتوفرة عندي ويبدأ إسمها ب vmlinuz .





قمت بقرأءة أحد ملفات الإعدادات نلاحظ أن إفتراضيا options التي ستمرر للنواة محفوظة في متغير $kernelopts لاكن ما هي قيمة هذا المتغير وأين موجود ؟ الصورة في الأسفل توضح الأمر .




نلاحظ إفتراضيا من أين يتم أخذ المعلومات نلاحظ قيمة متغير kernelopts  وغيره من الإعدادات وهذا المسار في حالة إستخدام Legacy Bios أما في حالة EFI يصبح المسار شيء كهذا boot/EFI/fedora/grubenv/ 

متغير kernelopts ممكن إستخدامه كإعدادات عامة أي يحفظ فيه الإعدادات العامة ثم أي نواة تريد اخذ الإعدادات العامة يتم إضافة هذا السطر في ملف إعداداتها options $kernelopts أما إذا أردنا لنواة ما أن تأخذ إعدادات خاصة نستبدل kernelopts$ بالذي نريده (ممكن إستخدام اداة grubby حيث ممكن تحديد النواة المراد التعديل عليها وممكن التعديل على القيمة العامة من خلال ALL هناك رابط في أخر الموضوع يشرح القليل عن grubby )



الأن هل إنتهى دور ملف etc/default/grub/ ؟



لا لم ينتهي مازال يحتفظ ببعض الإعدادات منها إعداد معين يفعل BSL  وأيضا بعض الإعدادات مثل GRUB_TIMEOUT مازالت تأخذ منه وأيضا للتوافقية مثلا إذا قمت بالترقية من فيدورا 29 إلى 30 لن تكون BLS مفعلة ستحتاج تفعيلها بنفسك (أخر الموضوع يوجد رابط من وثائق فيدورا يشرح عن الأمر).






الخلاصة.


 في السابق إذا كنا نريد تمرير شيء للنواة عند كل إقلاع نعدل على ملف etc/default/grub/ ثم نقوم بتحديث المعلومات من خلال اداة mkconfig ثم إعادة تشغيل الجهاز أما حديثا يكفي التعديل على ملف grubenv وإعادة إقلاع النظام من دون إستخدام اداة mkconfig (ملاحظة بدل التعديل اليدوي على ملف grubenv ممكن أيضا إستخدام اداة grubby ).


وهذا يقودنا لسؤال اخر هل تم التخلي عن اداة mkconfig ؟

الجواب لا الأداة مستخدمة للتعرف على الأنظمة والتوزيعات الاخرى مثلا ويندوز أو توزيعة لينكس أخرى وأيضا للأخذ ببعض الإعدادات من ملف etc/default/grub/ مثل كما ذكرت GRUB_TIMEOUT .



هذا الموضوع للتوسع يشرح أكثر لماذا يتم إعتماد هذه الطريقة أي ما هي الأسباب وبعض المعلومات .
https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault


وهذا أيضا موضوع من مجلة فيدورا يشرح قليلا عن اداة  grubby.
https://fedoramagazine.org/setting-kernel-command-line-arguments-with-fedora-30/





أخر معلومة عن grubby .


 نلاحظ عند إستخدام ALL أي تحديد كل الأنوية يتم التعديل على ملف grubenv .



وعند إستبدال ALL بنواة محددة التعديل يتم على ملف إعدادات النواة المحددة وليس grubenv اي سيتم اخذ قيمة kernelopts وإضافة إليها القيمة الجديدة وتعينهم بشكل صريح في options أي لن يتم بعدها لهذه النواة بالتحديد أخذ القيمة من ملف grubenv بل تم تعينها بشكل صريح في ملف أعداداتها الخاص  أتمنى أن تكون الأمور واضحة .

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





أخر ملاحظة إذا كنت تستخدم برنامجي Arfedoracontrolcenter الإضافة المتعلقة بتعديل إعدادات محمل الإقلاع كما في الصورة في الأسفل إلى الأن لم أعدل عليها لهذا بعض التغيرات التي تقوم بها  من هناك لن تعطي نتيجة في حالة BLS لاكن إن شاء الله في المستقبل عندما يكون لي وقت اعمل على حل ما .
https://github.com/yucefsourani/arfedoraccframework




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












التسميات

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)