
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 ويستحق التعلم إذا كنت تدير خوادم لينكس بعيدة. إنه يوفر طريقة سهلة للحفاظ على الجلسات قيد التشغيل حتى عند فصل الاتصال عن الخادم.