كيفية تثبيت واستخدام Screen لإدارة جلسات الطرفية على خوادم أوبونتو

Use Screen to Manage Terminal Sessions on Ubuntu

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

فيما يلي كيفية تثبيت Screen واستخدامه على خادم سحابة أوبونتو:

تثبيت Screen

يجب أن يكون Screen مثبتًا افتراضيًا على معظم توزيعات أوبونتو. يمكنك التحقق مما إذا كان مثبتًا بالفعل عن طريق تشغيل:

$ screen -v

إذا تم تثبيته ، سترى إخراجًا مثل:

Screen version 4.08.00 (GNU) 5-Oct-20

إذا لم يتم تثبيته ، قم بتثبيته باستخدام:

$ sudo apt update
$ sudo apt install screen

بدء جلسة Screen

لبدء جلسة Screen جديدة ، ما عليك سوى تشغيل:

$ screen

سيتم عرض شاشة طرفية فارغة. أي شيء تقوم بتشغيله هنا سيكون داخل جلسة Screen.

يمكنك أيضًا بدء جلسة Screen مسماة عن طريق تقديم اسم الجلسة:

$ screen -S session1

لعرض قائمة بجلسات Screen التي يتم تشغيلها حاليًا:

$ screen -ls

فصل الاتصال وإعادة تعليق Screen

لفصل الاتصال من جلسة Screen مع الاحتفاظ بتشغيلها ، اضغط على Ctrl + A ثم D.

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

لإعادة تعليق Screen المفصول:

$ screen -r session1

استبدل “session1” باسم جلسة Screen الخاصة بك.

يمكنك حذف اسم الجلسة لإرفاق أحدث جلسة مفصولة.

أوامر Screen مفيدة

فيما يلي بعض الأوامر المفيدة لاستخدامها داخل جلسة Screen:

  • Ctrl + A D – فصل الجلسة الحالية
  • Ctrl + A K – إنهاء الجلسة الحالية
  • Ctrl + A C – إنشاء تبويب (نافذة) جديد في الجلسة
  • Ctrl + A N – الانتقال إلى النافذة التالية
  • Ctrl + A P – الانتقال إلى النافذة السابقة
  • Ctrl + A 0-9 – الانتقال إلى النافذة 0-9
  • Ctrl + A A – إعادة تسمية النافذة الحالية
  • Ctrl + A \ – تقسيم المنطقة الحالية أفقيًا
  • Ctrl + A | – تقسيم المنطقة الحالية عموديًا

تهيئة Screen

يمكنك تهيئة خيارات Screen في ملف ~/.screenrc. وتشمل الإعدادات المفيدة:

# تمكين تمرير الماوس
termcapinfo xterm* ti@:te@
# تغيير مفتاح الهروب من Ctrl + A إلى Ctrl + B  
escape ^Bb
# تغيير موقع ملف سجل Screen
logfile ~/.screens/screenlog.%n

راجع صفحة اليد لـ screen للحصول على مزيد من خيارات التكوين.

التمرير في Screen

لا يسمح Screen بالتمرير لأعلى من خلال الإخراج السابق مثل الطرفية العادية.

لتمكين التمرير ، تحتاج إلى استخدام أمر screen:

  • Ctrl + A [ – إدخال وضع التمرير. يمكنك الآن التمرير خلال سجل الطرفية الخاص بك باستخدام مفاتيح الأسهم.
  • Ctrl + C – الخروج من وضع التمرير.

بدلاً من ذلك ، يمكنك تمكين مخزن التمرير في ملف ~/.screenrc الخاص بك:

defscrollback 30000

سيخزن هذا آخر 30,000 سطر من الإخراج ويسمح لك بالتمرير من خلالها.

Screen مع SSH

يمكنك تعليق وإعادة تعليق جلسة Screen عبر SSH.

قم بتشغيل Screen على الخادم البعيد ، ثم فصله كالمعتاد باستخدام Ctrl + A D.

قم بتسجيل الخروج من جلسة SSH الخاصة بك وقم بتسجيل الدخول مرة أخرى لاحقًا. أعد تعليق جلستك السابقة باستخدام:

$ screen -r

هذا يتيح لك مواصلة تشغيل العمليات على خادم بعيد حتى عند الاتصال بالخادم.

Tmux مقابل Screen

يوجد تشابه بين Screen و tmux ، وهو مضاعف طرفية آخر. الاختلافات الرئيسية:

  • Tmux لديه قاعدة كود أكثر حداثة وميزات إضافية مثل تقسيم اللوحات
  • Screen أكثر خفة وبساطة ، يستخدم ذاكرة / موارد أقل
  • تستخدم أوامر Screen Ctrl + A ، وتستخدم Tmux Ctrl + B
  • لا يزال Tmux يتم المحافظة عليه بنشاط ، بينما تباطأ تطوير Screen

إذن باختصار ، قد يكون Tmux مفضلاً للمستخدمين الجدد الذين يريدون مزيدًا من الميزات ، لكن Screen لا يزال خيارًا جيدًا لتعدد الطرفيات الخفيف.

صفحة اليد لـ Screen

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

يمكنك الوصول إليها عن طريق تشغيل:

$ man screen

بعض أبرز ما في صفحة اليد:

خيارات سطر الأوامر

فيما يلي بعض خيارات سطر الأوامر الشائعة عند إطلاق Screen:

  • -S اسم_الجلسة – تسمية جلسة Screen الجديدة
  • -d -m – تشغيل Screen في الوضع المفصول
  • -r – إعادة تعليق جلسة Screen المفصولة
  • -ls – سرد جلسات Screen المشغلة حاليًا
  • -wipe – مسح الحالة الداخلية لـ Screen وإزالة جميع الجلسات

ملف التكوين

يتحكم ملف ~/.screenrc في سلوك Screen:

# تعيين اسم النافذة الافتراضي  
screen -t shell
# تعيين ملف سجل Screen
log on 
logfile ~/screenlog.0
# تعيين حجم مخزن التمرير
defscrollback 30000

الأوامر المرتبطة

يتم ربط الأوامر بضربات المفاتيح كالتالي:

# ربط Ctrl+A C بإنشاء نافذة جديدة
bind C create
# ربط Ctrl+A n للانتقال إلى النافذة التالية
bind n next

النسخ / اللصق

يوفر Screen دعم النسخ / اللصق:

# إدخال وضع النسخ
Ctrl+A [
# ابدأ في تحديد النص بمفاتيح الأسهم
# نسخ النص المحدد 
Ctrl+A ]
# لصق النص المنسوخ
Ctrl+A ] 

النوافذ

إدارة النوافذ:

# إنشاء نافذة جديدة
$ screen -t test
# التبديل بين النوافذ
Ctrl+A n  
# إنهاء النافذة الحالية
$ quit

يغطي هذا بعض أكثر استخدامات Screen شعبية مباشرة من صفحة اليد. راجع man screen للمزيد من التفاصيل.

الخلاصة

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

المهام الرئيسية المغطاة:

  • تثبيت Screen على أوبونتو
  • بدء وفصل جلسات Screen
  • إعادة تعليق جلسات Screen
  • استخدام أوامر Screen لإدارة النوافذ
  • تهيئة مخزن التمرير وإعدادات ~/.screenrc
  • دمج Screen مع SSH

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

LEAVE A COMMENT