للقادمين الجدد: الجزء الثاني معلومات يجب على كل مستخدمي جنو لينكس الإطلاع عليه .

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

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


تشغيل البرامج من الطرفية .



1-يمكن تشغيل البرامج الرسومية من سطر الأوامر من خلال كتابة إسم البرنامج داخل الطرفية  Terminal .






2-إسم ملف التنفيذي للبرنامج & إسم البرنامج .


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

قد يختلف إسم البرنامج الذي يظهر في القائمة عن إسم الملف التنفيذي للبرنامج مثلا يظهر برنامج Disks في القائمة بهذا الإسم Disks لكن إسم الملف التنفيذي له gnome-disks لهذا عندما أريد أن أشغل هذا البرنامج أكتب في الطرفية gnome-disks .

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


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

إذا أردنا تشغيل ملف تنفيذي لملف غير موجود في مجلدات PATH يجب اولا أن نعطي هذا الملف صلاحيات التنفيذ ثم يجب أن نكتب إسم ملف التنفيذي مع مساره على الهارديسك مثلا opt/firefox/ أو مثلا من الطرفية نذهب إلى مكان الملف التنفيذي المراد تشغيله ونكتب إسمه مع نقطه و علامة / هكذا نخبر النظام ان هذا الملف نريد تشغيله من المجلد الحالي الموجودين فيه نحن اﻷن وليس في مجلدات PATH في الشرح في الأسفل ستتوضح اﻷمور أكثر مثال مثلا لدي ملف إسمه run_helloworld وموجود في مجلد Downloads هناك طريقتين لتشغيله من الطرفية Terminal .





 -أول طريقة لمرة واحدة نقوم بإعطاء الملف التنفيذي صلاحيات التنفيذ ثم نكتب إسم الملف التنفيذي مع مساره .





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



 

1-نلاحظ أولا أنني دخلت على مجلد Downloads .

2-قمت بإعطاء الملف التنفيذي صلاحيات التنفيذ من خلال أمر chmod .

 3-عندما كتبت إسم الملف التنفيذي من دون /. أخبرني النظام أن لا يوجد ملف بهذا الإسم مع أني موجود في مجلد Downloads الموجود بداخله ملف التنفيذي هذا لأن النظام إذا لم أعطيه مسار الملف التنفيذي سيبحث عنه في المجلدات المحفوظ مسارها في متغير PATH ولن يبحث في مجلد Downloads لهذا يجب أن نعطي النظام المسار الموجود فيه الملف التنفيذي من خلال /. هكذا سيبحث النظام عن الملف التنفيذي في المجلد الموجود فيه وسيتجاهل المجلدات في متغير PATH.

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









3-تشغيل ملف تنفيذي يحتاج وسيط .


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





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




ملاحظة في أغلب التوزيعات ما عدا أرش كلمة python و python2 وpython2.7 ذات الشيء أول إثنين عبارة عن رابط إختصار ٍShortcut لأخر كلمة أي python2.7 .



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



نلاحظ أن python إختصار ل python2 و python2 نفسها إختصار ل python2.7 والجميع موجودين في مجلد usr/bin/ وهذا المجلد موجود مساره في متغير PATH .



ذات المثال لكن لبايثون إصدار 3 .









-إذا كان السكربت مكتوب بداخله مسار المفسر الخاص باللغة المكتوب فيه مثال في الأسفل لسكربت بايثون إصدار إثنين نلاحظ أنه مكتوب داخله مسار مفسر بايثون إصدار 2.7 أي هذا السطر usr/bin/python2/!# عندها إلى جانب الطريقة الأولة في الأعلى ممكن تشغيل السكربت كما في الأسفل.




لتشغيله ممكن أن نعامله كأي ملف تنفيذي كما في الأسفل.







بالنسبة لبايثون إصدار 3 ذات شيء لكن يختلف مسار المفسر داخل السكربت.















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




مثال لأخطاء تظهر لبرنامج تم تشغيله من الطرفية نلاحظ رسائل الأخطاء.






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



ملاحظة البرامج التي تم تشغيلها من الطرفية Terminal سيتم غلقها عند غلق الطرفية .









5-يمكن تشغيل البرامج الرسومية من TTY معينه وعرضها على TTY أخرى من خلال تحديد متغير DISPLAY .


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

(tty بشكل مبسط يمكننا هنا إعتبارها الطرفية الوهمية vconsole التي ندخل عليها من خلال الضغط على مفاتيح Ctl+Atl+F1 وCtl+Alt+F2 و ...إلخ )


مثال في توزيعة أوبن سوزا لدي مدير عرض x وواجهة plasma يعملو على tty1 وقمت بإستبدال مدير النوافذ kwin بمدير النوافذ compiz ,الأن لسبب ما أواجه مشكلة في مدير النوافذ compiz ممكن حل المشكلة من خلال القيام مؤقتا بإستبدال مدير النوافذ compiz بمدير النوافذ kwin الطريقة هي ندخل على أي tty أخر مثلا ندخل على tty3 مثلا  من خلال الضغط على Ctrl+Atl+F3 ثم من هناك أحدد رقم مدير العرض غالبا سيكون هناك مدير عرض واحد يعمل وسيكون رقمه صفر ثم بعد تحديد رقم مدير العرض الذي تعمل عليه واجهة plasma أكتب أمر تشغيل مدير النوافذ kwin مع خيار خاص به وهو إستبدال kwin بأي مدير نوافذ أخر يعمل. مثلا في أوبن سوزا الأمر على ما أذكر كان هكذا

&DISPLAY=:0 kwin_x11 –replace نلاحظ أن متغير display مكتوب بالأحرف الكبيرة وقبل رقمه هناك نقطتين الان نرجع إلى tty1 مثلا من خلال الضغط على Ctrl+Atl+F1 نلاحظ أنه تم إستبدال compiz ب kwin نصلح الامر أو نفعل ما نريد.



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

& DISPLAY=:0 gnome-shell –replace

أيضا خيار replace متوفر في واجهة جنوم غالبا سنجده في كل الواجهات ومديري النوافذ قد يكون

replace-- او r- أو الإثنين ذات الشيء .

(مدير العرض بإختصار هو المسؤول عن الكثير من الأشياء منها عرض كل ما هو رسومي من واجهة نوافذ البرامج و...إلخ غالبا سيكون مدير العرض هو xorg لكن هناك مدير عرض أحدث يتم العمل عليه إسمه wayland وسيكون مدير العرض الإفتراضي في فيدورا 24 ويمكن من مدير الدخول gdm في الإصدارات الأقدم لفيدورا بواجهة جنوم أن نحدد اننا نريد الإقلاع من خلال واجهة جنوم مع wayland وسمعت ان أوبنتو تعمل على مدير عرض خاص بها الصراحة لا أعلم الكثير عنه حتى أني لا أذكر إسمه )







أخيرا مواضيع مفيدة .


http://arfedora.blogspot.com/2015/10/blog-post_4.html

http://arfedora.blogspot.com/2015/10/path-alias.html





شارك الموضوع

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

التسميات

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)