كيفية استخدام شاشة Terminal Multiplexer في Linux

جدول المحتويات:

كيفية استخدام شاشة Terminal Multiplexer في Linux
كيفية استخدام شاشة Terminal Multiplexer في Linux
Anonim

هل تريد تشغيل عدة جلسات شاشة افتراضية من وحدة تحكم طرفية واحدة؟ أو تجنب انقطاع الاتصال بالإنترنت من إنهاء جلسة وحدة التحكم الخاصة بك عبر SSH؟ إذا كان الأمر كذلك ، رحب بالمضاعف الطرفي لشاشة GNU في مجموعة أدواتك اليوم!

استخدام أداة شاشة جنو

أداة GNU Screen المساعدة لنظام Linux هي مُضاعِف شاشة متعدد الاستخدامات يسمح لك ببدء جلسات شاشة افتراضية متعددة (فكر فيها مثل نوافذ وحدة التحكم الإضافية) من داخل جلسة العمل الحالية الخاصة بك!

البدء سهل. يمكنك تثبيت أداة شاشة جنو باستخدام

sudo apt install screenفي سطر أوامر الجهاز:

تثبيت شاشة جنو
تثبيت شاشة جنو

إذا كنت تستخدم نظام تشغيل يعتمد على RedHat / RPM ، فيرجى استبدال `apt` بـ` yum` في الأمر أعلاه.

لفتح وحدة تحكم افتراضية جديدة ، يمكنك الآن ببساطة كتابة

screenوالضغط على Enter ، والذي سيعرض لك شاشة البداية:

شاشة GNU Screen Splash
شاشة GNU Screen Splash

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

أحد الأشياء الرائعة في شاشة جنو أنه حتى لو فشلت أو تعطلت الجلسة الطرفية الرئيسية / الأم (على سبيل المثال بسبب فقد اتصال الشبكة) ، وحتى عند إغلاق أو إنهاء الرئيسي / جلسة المحطة الأم ، ستبقى جلسة الشاشة هذه حية وعاملة!

من السهل التحقق مما إذا كنا داخل جلسة شاشة حاليًا أم لا:

التحقق مما إذا كانت هذه جلسة شاشة GNU أم لا
التحقق مما إذا كانت هذه جلسة شاشة GNU أم لا

هذا إذا كانت العبارة تختبر ما إذا كان المتغير

$ STY

معينًا أم لا. إذا تم تعيين متغير البيئة

$ STY، فهذه جلسة شاشة.

إذن كيف نعود إلى الجلسة الطرفية الرئيسية / الرئيسية؟ يمكن القيام بذلك باستخدام مجموعة لوحة مفاتيح ستستمع إليها شاشة GNU في الخلفية. ما عليك سوى الضغط على CTRL + A > CTRL + D. لا يهم إذا قمت بتحرير أو عدم تحرير مفتاح CTRL أثناء القيام بذلك.

سترى شيئًا مشابهًا لهذا الناتج:

الخروج من جلسة شاشة جنو
الخروج من جلسة شاشة جنو

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

لإعادة الاتصال بالجلسة ، يمكننا إصدار أمر بسيط:

إعادة الاتصال بجلسة شاشة جنو
إعادة الاتصال بجلسة شاشة جنو

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

screen -d -rالأمر.

يمكننا قراءة المزيد حول الخيارات التي استخدمناها لهذا الأمر في الدليل المضمن على الشاشة:

دليل الشاشة يوضح الخيارين r و d
دليل الشاشة يوضح الخيارين r و d

للحصول على نظرة عامة أوسع على الشاشة ووظائفها المتعددة ، يمكنك استخدام

man screencommand:

دليل GNU Screen Linux
دليل GNU Screen Linux

إذا أردنا رؤية قائمة بجلسات الشاشة التي تعمل على الجهاز في هذه اللحظة ، فيمكننا إصدار الأمر

screen -list:

قائمة شاشة جنو
قائمة شاشة جنو

لاحظ كيف تظهر الجلسة بأنها "منفصلة" أو "مرفقة" اعتمادًا على ما إذا كنت لا تزال متصلًا بها في مكان ما أم لا.

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

بدلاً من ذلك ، يمكنك استخدام تركيبة لوحة مفاتيح CTRL + ESC لتمكين وضع النسخ (على الرغم من عدم أخذ نسخة فعلية إذا كنت تقوم بالتمرير فقط) ، والآن فإن الماوس الخاص بك ، بالإضافة إلى مفاتيح المؤشر القياسية لأعلى / لأسفل سوف تعمل بشكل صحيح.عندما تنتهي من البحث (و / أو النسخ إذا أردت ، على سبيل المثال مع تحديد الماوس والنسخ كالمعتاد) ، ما عليك سوى الضغط على مفتاح ESC مرة أخرى لإلغاء وضع النسخ.

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

screen -listoutput:

جلسة شاشة GNU الفاشلة
جلسة شاشة GNU الفاشلة

في هذه المرحلة ، يمكننا مسح جلسة الشاشة الميتة بإصدار الأمر

screen -wipe:

جلسة شاشة جنو تم مسحها
جلسة شاشة جنو تم مسحها

في هذه المقالة ، اكتشفنا كيفية تثبيت أداة شاشة GNU ، وكيفية بدء جلسة شاشة افتراضية جديدة باستخدام نفس الشيء ، وكيفية الفصل من جلسة شاشة موجودة وإعادة توصيلها. أخيرًا ، ننظر في كيفية التمرير داخل جلسات الشاشة ، بالإضافة إلى النظر في كيفية التعامل مع جلسات الشاشة الميتة.

موضوع شعبي