كيفية استخدام أمر شاشة Linux
fatmawati achmad zaenuri / Shutterstock
مع Linux screen
الأمر ، يمكنك دفع التطبيقات الطرفية قيد التشغيل إلى الخلفية وسحبها للأمام عندما تريد رؤيتها. كما أنه يدعم شاشات تقسيم الشاشة ويعمل أكثر اتصالات SSH ، حتى بعد قطع الاتصال وإعادة الاتصال!
ذات صلة: 10 أوامر لينكس أساسية للمبتدئين
ما هو أمر الشاشة؟
ال screen
الأمر هو معدد المحطة ، ومليئة بالخيارات تمامًا. إن القول بأنه يمكن أن يفعل الكثير هو جد بخس. صفحة الرجل يمتد إلى أكثر من 4100 خط .
فيما يلي أكثر الحالات شيوعًا التي قد تستخدم فيها screen
الأمر ، وسنتناول هذه الأمور بمزيد من التفصيل في هذه المقالة:
- تتمثل العملية القياسية في إنشاء نافذة جديدة بها غلاف ، قم بتشغيل ملف يأمر ، ثم ادفع النافذة إلى الخلفية (يسمى فصل). عندما تريد أن ترى كيف تسير العملية ، يمكنك سحب النافذة إلى المقدمة مرة أخرى (إعادة إرفاق) واستخدامها مرة أخرى. يعد هذا أمرًا رائعًا للعمليات الطويلة التي لا تريد إنهاؤها عن طريق الخطأ عن طريق إغلاق نافذة المحطة الطرفية.
- بمجرد حصولك على
screen
أثناء تشغيل الجلسة ، يمكنك إنشاء نوافذ جديدة وتشغيل عمليات أخرى فيها. يمكنك التنقل بسهولة بين النوافذ لمراقبة تقدمهم. يمكنك أيضًا تقسيم نافذة المحطة الطرفية إلى مناطق عمودية أو أفقية ، وعرض مختلفscreen
نوافذ في نافذة واحدة. - يمكنك الاتصال بجهاز بعيد ، ابدأ
screen
الجلسة ، وإطلاق العملية. يمكنك قطع الاتصال بالمضيف البعيد ، وإعادة الاتصال ، وستظل العملية قيد التشغيل. - يمكنك مشاركة
screen
جلسة بين اتصالين SSH مختلفين بحيث يمكن لشخصين رؤية نفس الشيء في الوقت الفعلي.
شاشة التثبيت
لتثبيت screen
في ubuntu ، استخدم هذا الأمر:
screen
لتثبيت screen
في Manjaro ، استخدم الأمر التالي:
latest_kernel.zip
في Fedora ، اكتب ما يلي:
curl
الشروع في العمل مع الشاشة
لبدء screen
، ما عليك سوى كتابته كما هو موضح أدناه واضغط على Enter:
screen
سترى صفحة معلومات الترخيص. يمكنك الضغط على مفتاح المسافة لقراءة الصفحة الثانية أو إدخال للعودة إلى موجه الأوامر.
الإعلانات
لقد تركت عند موجه الأوامر ، ولا يبدو أن شيئًا قد حدث. ومع ذلك ، فأنت تقوم الآن بتشغيل shell داخل محاكي طرفي متعدد الإرسال. لماذا هذا شيء جيد؟ حسنًا ، لنبدأ عملية ستستغرق وقتًا طويلاً حتى تكتمل. سننزل شفرة المصدر لأحدث إصدار من Linux kernel ونعيد توجيهه إلى ملف يسمى 23167.pts-0.howtogeek
.
للقيام بذلك ، نكتب ما يلي:
-ls
يبدأ التنزيل ، و -r
يظهر لنا الإخراج التقدم.
لا يمكننا أن نظهر لك صورة للجزء التالي ، لأنه تسلسل ضغط المفاتيح. تكتب Ctrl + A ، وتحرر تلك المفاتيح ، ثم تضغط على d لفصل الشاشة.
لا تزال عملية التنزيل قيد التشغيل ولكن تمت إزالة النافذة التي تعرض التنزيل. ستتم إعادتك إلى النافذة الطرفية التي أطلقت منها exit
حصة. تخبرك رسالة أن screen
نافذة معنونة screen
تم فصله.
أنت بحاجة إلى الرقم من بداية اسم النافذة لإعادة إرفاقه. إذا نسيت ذلك ، يمكنك دائمًا استخدام -S
(قائمة) الخيار ، كما هو موضح أدناه ، للحصول على قائمة النوافذ المنفصلة:
screen
عندما تكون جاهزًا ، يمكنك استخدام screen
(reattach) الخيار ورقم الجلسة المراد ربطها ، مثل:
-ls
الإعلانات
يتم الآن إرجاع النافذة التي كانت تعمل بعيدًا في الخلفية إلى نافذة جهازك كما لو أنها لم تغادر مطلقًا.
إذا كانت العملية ستستمر حتى نهايتها ، فستكتمل في النهاية. إذا كانت عملية مستمرة ، فستحتاج في النهاية إلى إنهاؤها. في كلتا الحالتين ، عندما تنتهي العملية ، يمكنك كتابة screen
للخروج من exit
. بدلاً من ذلك ، يمكنك الضغط على Ctrl + A ، ثم K لقتل النافذة بالقوة.
اكتب الأمر التالي:
screen
ستتم إعادتك إلى النافذة الطرفية السابقة ، والتي ستظل تعرض الأمر الذي استخدمته لإعادة إرفاق النافذة. نظرًا لأننا أغلقنا نافذتنا الوحيدة والوحيدة المنفصلة ، فقد تلقينا رسالة مفادها screen
يتم إنهاء.
ذات صلة: كيفية استخدام curl لتنزيل الملفات من سطر أوامر Linux
استخدام جلسات الشاشة المسماة
يمكنك استخدام dmesg
(اسم الجلسة) لتسمية -H
حصة. إذا كنت تستخدم اسمًا لا يُنسى بدلاً من الهوية الرقمية للجلسة ، فمن الملائم إعادة الاتصال بالجلسة. نكتب ما يلي لتسمية جلستنا الملف الكبير:
-w
متى dmseg
تبدأ جلستنا ، نرى نافذة فارغة مع موجه الأوامر. سنقوم بتنزيل ملف كبير ، حتى نتمكن من استخدام عملية طويلة الأمد كمثال.
نكتب ما يلي:
screen
عند بدء التنزيل ، نضغط على Ctrl + A ، ثم نضغط D لفصل الجلسة. نكتب ما يلي لاستخدام watch
(قائمة) الخيار مع vmstat
للاطلاع على تفاصيل جلستنا المنفصلة:
vmstat
الإعلانات
خلف المعرف الرقمي (23266) ، نرى اسم جلستنا (الملف الكبير). نكتب ما يلي ، متضمنًا اسم الجلسة ، لإعادة إرفاقها:
screen
لقد أعدنا الاتصال بنافذة التنزيل الخاصة بنا ونرى أن التنزيل الطويل لا يزال قيد التقدم.
عند اكتمال التنزيل ، نكتب dmesg
لإغلاق نافذة الجلسة.
استخدام الشاشة مع نوافذ متعددة
حتى الآن ، استخدمنا vmstat
لوضع عملية واحدة في الخلفية في نافذة منفصلة. ومع ذلك ، vmstat
قادر على فعل أكثر من ذلك بكثير. بعد ذلك ، سنقوم بتشغيل بعض العمليات التي تسمح لنا بمراقبة بعض جوانب جهاز الكمبيوتر الخاص بنا.
نكتب ما يلي لبدء جلسة شاشة تسمى الشاشة:
dmesg
الإعلانات
في موجه الأوامر في جلسة النافذة الجديدة ، سنقوم بذلك إطلاق df
واستخدم df
(يمكن قراءتها بواسطة الإنسان) و (|)
(انتظر الرسائل الجديدة) الخيارات. هذا سوف عرض رسائل المخزن المؤقت kernel ؛ ستظهر الرسائل الجديدة فور ورودها.
نكتب ما يلي:
dmesg
تظهر الرسائل الموجودة. لم يتم إرجاعنا إلى موجه الأوامر بسبب screen
ينتظر الرسائل الجديدة ، وسيعرضها فور وصولها.
ذات صلة: كيفية استخدام الأمر dmesg على نظام Linux
نريد تشغيل تطبيق آخر ، لذلك نحتاج إلى ssh
جديد نافذة او شباك. نضغط على Ctrl + A ، ثم C لإنشاء نافذة جديدة. سنستخدم screen
ل مرارا وتكرارا تشغيل top
، حتى نحصل على تحديث متكرر عرض استخدام الذاكرة الظاهرية على جهاز الكمبيوتر الخاص بنا.
في موجه الأوامر الجديد ، نكتب ما يلي:
screen
ال top
يظهر الإخراج والتحديث كل ثانيتين.
عمليتينا قيد التشغيل الآن. للقفز بين exit
windows ، تضغط على Ctrl + A ، ورقم النافذة. أول ما أنشأناه هو النافذة صفر (0) ، التالي هو النافذة 1 ، وهكذا. للانتقال إلى النافذة الأولى (screen
واحد) ، نضغط على Ctrl + A و 0.
إذا ضغطنا على Ctrl + A و 1 ، فسيتم إرجاعنا إلى top
نافذة او شباك.
هذا جميل جدا! يمكننا الضغط على Ctrl + A ، ثم D للفصل من هذه الجلسة ؛ يمكننا إعادة الربط لاحقًا. ستظل كلتا الدورتين قيد التشغيل. مرة أخرى ، للتبديل بين النوافذ ، نضغط على Ctrl + A ورقم (0 أو 1) النافذة التي نريد التبديل إليها.
دعنا ننتقل إلى الخطوة التالية ونعرض كلتا الشاشتين في نافذة واحدة. عند القيام بذلك ، ستمدد نافذة المحطة إلى الحجم الذي يجعل هذه الخطوة مفيدة. أمثلةنا مقيدة بحجم لقطات الشاشة لدينا ، لذلك ستبدو نوافذنا ضيقة قليلاً.
الإعلاناتللقيام بذلك ، نضغط على Ctrl + A ، ثم Shift + S (مطلوب حرف S كبير).
النافذة تنقسم إلى منطقتين.
لا تزال المنطقة العلوية تعرض screen
، والمنطقة السفلية فارغة. تم تمييز المؤشر في لقطة الشاشة أدناه. لنقلها إلى المنطقة السفلية ، نضغط على Ctrl + A ، ثم Tab.
يتحرك المؤشر إلى المنطقة السفلية ، والتي هي في الحقيقة مجرد مساحة فارغة. إنها ليست صدفة ، لذا لا يمكننا كتابة أي شيء فيها. للحصول على عرض مفيد ، نضغط على Ctrl + A ، ثم نضغط على 0 لعرض -d
نافذة في هذه المنطقة.
هذا يعطينا كلا النواتج الحية في نافذة واحدة مقسمة. إذا ضغطنا على Ctrl + A و D لفصل النافذة ، ثم أعدنا إرفاقها ، فسوف نفقد عرض الجزء المنقسم. ومع ذلك ، يمكننا استعادته باستخدام اختصارات لوحة المفاتيح التالية:
- & [رسقوو] ؛ كيفية استخدام tmux على Linux (ولماذا هو أفضل من الشاشة)
- & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
- & [رسقوو] ؛ Cyber Monday 2021: أفضل عروض Apple
- & [رسقوو] ؛ Cyber Monday 2021: أفضل العروض التقنية
- & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
- & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
- & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك
يمكننا أن نأخذ الأمور خطوة إلى الأمام. سنقوم الآن بتقسيم الجزء السفلي عموديًا ، وإضافة عملية ثالثة إلى العرض. مع وجود المؤشر في المنطقة السفلية ، نضغط على Ctrl + A و C لإنشاء نافذة جديدة بها غلاف. تعرض المنطقة السفلية النافذة الجديدة وتعطينا موجه أوامر.
بعد ذلك ، نقوم بتشغيل -m
الأمر ل تحقق من استخدام نظام الملفات :
screen
الإعلانات
عندما نرى -x
قيد التشغيل ، نضغط على Ctrl + A وحرف الأنبوب screen
. هذا يقسم المنطقة السفلية عموديًا. نضغط على Ctrl + A و Tab للانتقال إلى المنطقة الجديدة. بعد ذلك ، نضغط على Ctrl + A و 0 لعرض screen
نافذة او شباك.
يمكنك أيضًا الانتقال من منطقة إلى أخرى ، وإضافة المزيد من الانقسامات الرأسية أو الأفقية. فيما يلي بعض مجموعات المفاتيح الأكثر فائدة:
استخدام الشاشة عبر SSH
باستخدام screen
، يمكنك بدء جلسة نافذة ، وفصلها حتى تظل تعمل في الخلفية ، وتسجيل الخروج أو الدخول مرة أخرى ، ثم إعادة توصيل الجلسة.
دعونا نصنع SSH الاتصال بجهاز الكمبيوتر الخاص بنا من واحد مختلف مع
sudo apt-get install screenيأمر. يتعين علينا تقديم اسم الحساب الذي سنقوم بالاتصال به وعنوان الكمبيوتر البعيد.
على سبيل المثال لدينا ، نكتب ما يلي:
sudo pacman -Sy screen
بعد المصادقة على الكمبيوتر البعيد وتسجيل الدخول ، نكتب ما يلي لبدء
sudo dnf install screenجلسة تسمى ssh-geek:
screen
لأغراض توضيحية ، سنقوم بتشغيل
curl https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.9.tar.xz > latest_kernel.zipفي
screen -lsنافذة ، ولكن يمكنك البدء في أي عملية طويلة الأمد أو لا نهاية لها.
نكتب ما يلي:
screen -r 23167
الإعلانات
مرة واحدة
exitيعمل في النافذة ، نضغط على Ctrl + A ، ثم D لفصل النافذة.
لقد عدنا إلى نافذة المحطة الطرفية الأصلية البعيدة.
إذا قمنا بكتابة
screen -S bigfile، كما هو موضح أدناه ، فإنه يقطع اتصال جلسة SSH ونعود إلى الكمبيوتر المحلي الخاص بنا:
curl http://ipv4.download.thinkbroadband.com/1GB.zip > bigfile.zip
نكتب ما يلي لإعادة الاتصال:
screen -ls
بعد إعادة الاتصال بنا وتسجيل الدخول ، يمكننا كتابة ما يلي لإعادة إرفاق
screen -r bigfileحصة:
screen -S monitor
تمت إعادة الاتصال الآن بمثيلنا الذي لا يزال قيد التشغيل من
dmesg -H -w.
يعد هذا أمرًا رائعًا إذا كنت تريد بدء عملية على جهاز واحد ، ثم المتابعة من حيث توقفت على جهاز آخر.
ذات صلة: كيفية إنشاء وتثبيت مفاتيح SSH من Linux Shell
مشاركة جلسة الشاشة
يمكنك أيضًا استخدام
watch vmstatجلسة للسماح لشخصين برؤية النافذة نفسها والتفاعل معها. لنفترض أن شخصًا ما يقوم بتشغيل Fedora على جهاز الكمبيوتر الخاص به يريد الاتصال بخادم Ubuntu الخاص بنا.
سيكتب ما يلي:
df
بعد الاتصال ، يبدأ جلسة شاشة تسمى ssh-geek باستخدام الخيار -S (اسم الجلسة). كما أنه يستخدم
ssh dave@192.168.4.30(فصل) و
screen -S ssh-geek(إنشاء إجباري) لإنشاء
topجديد جلسة تم فصلها بالفعل.
يكتب ما يلي:
exit
الإعلانات
يكتب ما يلي ، باستخدام
ssh dave@192.168.4.30(وضع الشاشات المتعددة) الخيار لإرفاق الجلسة:
screen -r ssh-geek
على كمبيوتر Manjaro ، يتصل شخص آخر بكمبيوتر Ubuntu بنفس بيانات اعتماد الحساب ، كما هو موضح أدناه:
ssh dave@192.168.4.30
بمجرد أن تتصل ، تكتب
screen -d -m -S ssh-geekالأمر ويستخدم الخيار -X (وضع الشاشات المتعددة) للانضمام إلى جلسة النافذة نفسها ، مثل:
screen -x ssh-geek
الآن ، أي شيء يكتبه أي شخص ، سيرى الآخر. على سبيل المثال ، عندما يصدر شخص ما أمر التاريخ ، يراه كلاهما كما هو مكتوب ، بالإضافة إلى نتائجه.
يقوم كلا الشخصين الآن بمشاركة
ssh dave@192.168.4.1جلسة تعمل على كمبيوتر Ubuntu بعيد.
بالنسبة لجزء من البرنامج الذي رأى النور لأول مرة في عام 1987 ،
screen -X ssh-geekلا يزال يحزم حزمة إنتاجية جيدة. التعرف على هذا الأمر سيكون وقتًا ممتعًا!
ذات صلة: 37 أوامر لينكس مهمة يجب أن تعرفها
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين
اقرأ التالياستخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة