هل تريد تشغيل عدة جلسات شاشة افتراضية من وحدة تحكم طرفية واحدة؟ أو تجنب انقطاع الاتصال بالإنترنت من إنهاء جلسة وحدة التحكم الخاصة بك عبر SSH؟ إذا كان الأمر كذلك ، رحب بالمضاعف الطرفي لشاشة GNU في مجموعة أدواتك اليوم!
استخدام أداة شاشة جنو
أداة GNU Screen المساعدة لنظام Linux هي مُضاعِف شاشة متعدد الاستخدامات يسمح لك ببدء جلسات شاشة افتراضية متعددة (فكر فيها مثل نوافذ وحدة التحكم الإضافية) من داخل جلسة العمل الحالية الخاصة بك!
البدء سهل. يمكنك تثبيت أداة شاشة جنو باستخدام
sudo apt install screenفي سطر أوامر الجهاز:

إذا كنت تستخدم نظام تشغيل يعتمد على RedHat / RPM ، فيرجى استبدال `apt` بـ` yum` في الأمر أعلاه.
لفتح وحدة تحكم افتراضية جديدة ، يمكنك الآن ببساطة كتابة
screenوالضغط على Enter ، والذي سيعرض لك شاشة البداية:

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

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

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

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

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

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

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

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

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