دليل Tmux وScreen: إدارة جلسات SSH
إدارة جلسات SSH باستخدام Tmux وGNU Screen. التثبيت وإدارة النوافذ والأجزاء وفصل/إعادة الاتصال واستمرارية الجلسات والمقارنة.
جدول المحتويات
دليل Tmux وScreen: إدارة جلسات SSH
من أكبر التحديات عند العمل على الخوادم البعيدة هو انقطاع اتصال SSH. عند انقطاع الاتصال، تنتهي العمليات الجارية. Tmux وGNU Screen هما مضاعفا طرفية يحلان هذه المشكلة. يغطي هذا الدليل كلا الأداتين ويشرح متى تستخدم كل منهما.
لماذا تستخدم Tmux أو Screen؟
عند انقطاع جلسة SSH:
- تتوقف عمليات البناء الجارية
- تنقطع التنزيلات
- تنتهي السكريبتات طويلة التشغيل
- تُغلق محررات النصوص المفتوحة
يحافظ Tmux وScreen على الجلسات من جانب الخادم. حتى لو انقطع اتصالك، تستمر العمليات في العمل في الخلفية. عند إعادة الاتصال، تستأنف من حيث توقفت.
Tmux هو الأداة الأحدث والمطورة بنشاط. Screen أقدم وغالباً مثبت مسبقاً. معرفة كلتيهما مفيدة.
تثبيت Tmux
Ubuntu/Debian
sudo apt update
sudo apt install tmux -y
# التحقق من الإصدار
tmux -V
CentOS/AlmaLinux/RHEL
sudo dnf install tmux -y
# أو على الأنظمة القديمة
sudo yum install tmux -y
الاستخدام الأساسي لـ Tmux
إدارة الجلسات
# بدء جلسة جديدة
tmux
# بدء جلسة مسماة
tmux new-session -s myproject
# أو اختصاراً
tmux new -s myproject
# الفصل عن الجلسة (detach) — العمليات تستمر
# Ctrl+b ثم d
# سرد الجلسات الموجودة
tmux list-sessions
# أو اختصاراً
tmux ls
# إعادة الاتصال بجلسة (attach)
tmux attach-session -t myproject
# أو اختصاراً
tmux attach -t myproject
# الاتصال بآخر جلسة
tmux attach
# إنهاء جلسة
tmux kill-session -t myproject
# إنهاء جميع الجلسات
tmux kill-server
مفتاح البادئة في Tmux
جميع أوامر tmux تبدأ بمفتاح بادئة. البادئة الافتراضية: Ctrl+b
بعد إرسال البادئة، اضغط مفتاح الأمر:
| الأمر | الوصف |
|---|---|
Ctrl+b d | الفصل عن الجلسة |
Ctrl+b c | إنشاء نافذة جديدة |
Ctrl+b n | النافذة التالية |
Ctrl+b p | النافذة السابقة |
Ctrl+b 0-9 | التبديل إلى نافذة برقمها |
Ctrl+b , | إعادة تسمية النافذة |
Ctrl+b & | إغلاق النافذة الحالية |
Ctrl+b % | تقسيم عمودي (يميناً) |
Ctrl+b " | تقسيم أفقي (أسفل) |
Ctrl+b أسهم | التنقل بين الأجزاء |
Ctrl+b z | تبديل ملء الشاشة للجزء |
Ctrl+b [ | وضع التمرير |
Ctrl+b ? | المساعدة |
إدارة النوافذ
# إنشاء نافذة جديدة داخل tmux
# Ctrl+b ثم c
# سرد النوافذ
# Ctrl+b ثم w
# إعادة تسمية النافذة
# Ctrl+b ثم ,
# إغلاق النافذة
# Ctrl+b ثم &
إدارة الأجزاء (Panes)
تتيح الأجزاء تقسيم نافذة واحدة إلى عدة طرفيات.
# تقسيم عمودي (جنباً إلى جنب)
# Ctrl+b ثم %
# تقسيم أفقي (أعلى/أسفل)
# Ctrl+b ثم "
# التنقل بين الأجزاء
# Ctrl+b ثم الأسهم
# تبديل ملء الشاشة للجزء
# Ctrl+b ثم z
# إغلاق الجزء
# Ctrl+b ثم x
# تغيير حجم الجزء
# Ctrl+b ثم Ctrl+الأسهم
إعداد Tmux
أنشئ ~/.tmux.conf للتخصيص:
nano ~/.tmux.conf
# تغيير البادئة إلى Ctrl+a (مثل Screen)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# تفعيل دعم الفأرة
set -g mouse on
# بدء ترقيم النوافذ من 1
set -g base-index 1
setw -g pane-base-index 1
# تخصيص شريط الحالة
set -g status-bg colour235
set -g status-fg white
set -g status-left '[#S] '
set -g status-right '%H:%M %d-%b-%y'
# زيادة حد السجل
set -g history-limit 10000
# إعادة تحميل الإعداد
tmux source-file ~/.tmux.conf
استخدام GNU Screen
Screen أقدم من tmux لكنه غالباً مثبت مسبقاً على كثير من الأنظمة.
تثبيت Screen
# Ubuntu/Debian
sudo apt install screen -y
# CentOS/AlmaLinux
sudo dnf install screen -y
أوامر Screen الأساسية
# بدء جلسة جديدة
screen
# بدء جلسة مسماة
screen -S myproject
# الفصل عن الجلسة
# Ctrl+a ثم d
# سرد الجلسات
screen -ls
# إعادة الاتصال بجلسة
screen -r myproject
# الاتصال بالمعرف عند وجود جلسات متعددة
screen -r 12345.myproject
# إنهاء جلسة
screen -X -S myproject quit
اختصارات Screen
مفتاح بادئة Screen هو Ctrl+a:
| الأمر | الوصف |
|---|---|
Ctrl+a d | الفصل عن الجلسة |
Ctrl+a c | إنشاء نافذة جديدة |
Ctrl+a n | النافذة التالية |
Ctrl+a p | النافذة السابقة |
Ctrl+a " | قائمة النوافذ |
Ctrl+a A | إعادة تسمية النافذة |
Ctrl+a S | تقسيم أفقي |
| `Ctrl+a | ` |
Ctrl+a Tab | التبديل بين الأجزاء |
Ctrl+a [ | وضع التمرير |
Ctrl+a ? | المساعدة |
مقارنة Tmux وScreen
| الميزة | Tmux | Screen |
|---|---|---|
| تطوير نشط | نعم | لا |
| تقسيم عمودي | نعم | نعم (إصدارات أحدث) |
| دعم الفأرة | نعم | محدود |
| الإعداد | قوي | أساسي |
| مثبت مسبقاً | لا | غالباً نعم |
| منحنى التعلم | متوسط | منخفض |
| دعم السكريبت | ممتاز | جيد |
حالات الاستخدام العملية
العمليات طويلة التشغيل
# بدء جلسة جديدة
tmux new -s build
# تشغيل أمر طويل
make all
# الفصل — العملية تستمر
# Ctrl+b d
# التحقق لاحقاً
tmux attach -t build
مراقبة الخادم في أجزاء متعددة
# بدء الجلسة
tmux new -s monitoring
# تقسيم عمودي
# Ctrl+b %
# مراقبة CPU في الجزء الأيسر
htop
# التبديل إلى الجزء الأيمن (Ctrl+b السهم الأيمن)
# مراقبة I/O القرص
iostat -x 2
استخدم الاتصال التلقائي بحذر. قد يتعارض مع أتمتة SSH المستندة إلى المفاتيح على بعض الأنظمة.
وسّع tmux باستخدام Tmux Plugin Manager (TPM). يحافظ ملحق tmux-resurrect على الجلسات حتى بعد إعادة تشغيل النظام.
الخلاصة
Tmux وScreen أدوات أساسية لإدارة الخوادم البعيدة. عند تشغيل عمليات طويلة أو مهام بناء أو أوامر مراقبة مستمرة على خوادم REXE، تضمن هذه الأدوات سلامة عملك حتى عند انقطاع اتصال SSH. Screen نقطة بداية أبسط للمبتدئين، لكن مرونة Tmux وميزاته تجعله الخيار الأفضل على المدى البعيد.
مقالات ذات صلة
الاتصال بخادم VDS عبر SSH: PuTTY والطرفية والمفاتيح
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
الاتصال بـ Windows VDS عبر RDP: دليل شامل للمبتدئين
دليل خطوة بخطوة للاتصال بـ Windows Server VDS عبر RDP: الإعداد الكامل، تفعيل NLA للأمان، إنشاء قاعدة تصفية Path Panel واستكشاف الأخطاء وإصلاحها.
تغيير نظام تشغيل خادم VDS: دليل إعادة التثبيت خطوة بخطوة
تغيير نظام تشغيل خادم VDS عبر لوحة REXE: نصائح النسخ الاحتياطي قبل التثبيت، توزيعات Linux المدعومة وإصدارات Windows Server المتاحة للتثبيت الآن.