إتقان الـ Terminal Multiplexers: استخدام TMUX لإدارة جلسات العمل البعيدة بكفاءة


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

ما هو TMUX ولماذا أحتاجه؟

TMUX هو Terminal Multiplexer. ببساطة، يسمح لك بإنشاء وإدارة عدة جلسات طرفية (sessions)، نوافذ (windows)، وأجزاء (panes) داخل نافذة طرفية واحدة. الأهم من ذلك، أنه يحافظ على جلساتك حية حتى لو انقطع اتصالك بالخادم أو أغلقت نافذة الطرفية.

ملاحظة سريعة: هذه الأداة لا تقدر بثمن لمهندسي الأنظمة ومطوري DevOps. ستغير طريقة عملك عن بعد تماماً.

التثبيت (Installation)

التثبيت سهل جداً على معظم توزيعات Linux:

# على Debian/Ubuntu
sudo apt update
sudo apt install tmux

# على CentOS/RHEL
sudo yum install tmux

# أو إذا كنت تستخدم Fedora
sudo dnf install tmux

المفاهيم الأساسية في TMUX

  • الجلسة (Session): هي حاوية رئيسية لعملك. يمكنك تشغيل عدة جلسات منفصلة في الخلفية.
  • النافذة (Window): داخل كل جلسة، يمكنك إنشاء عدة نوافذ. كل نافذة تعمل كطرفية مستقلة (مثل التبويبات في متصفح الويب).
  • الجزء (Pane): داخل كل نافذة، يمكنك تقسيم الشاشة إلى أجزاء متعددة، كل جزء يعرض طرفية منفصلة.

البدء مع TMUX: الأوامر الأساسية

بدء جلسة جديدة

ببساطة، اكتب tmux لبدء جلسة جديدة. سيتم فتح نافذة طرفية جديدة داخل TMUX.

tmux

لإنشاء جلسة باسم محدد (وهو أمر مفيد جداً):

tmux new -s my_dev_session

مفتاح البادئة (Prefix Key)

جميع أوامر TMUX تبدأ بـ مفتاح البادئة. الافتراضي هو Ctrl+b. عندما ترى Prefix + C، فهذا يعني أن تضغط Ctrl+b ثم تحررها، ثم تضغط C.

تذكير: Ctrl+b هي البادئة الافتراضية. يمكنك تغييرها في ملف التكوين إذا أردت.

إدارة النوافذ (Windows)

  • Prefix + c: إنشاء نافذة جديدة.
  • Prefix + n: الانتقال إلى النافذة التالية.
  • Prefix + p: الانتقال إلى النافذة السابقة.
  • Prefix + رقم: الانتقال إلى النافذة رقم (مثلاً Prefix + 0 للنافذة الأولى).
  • Prefix + ,: إعادة تسمية النافذة الحالية.
  • Prefix + w: عرض قائمة بجميع النوافذ.

إدارة الأجزاء (Panes)

  • Prefix + %: تقسيم الجزء الحالي عمودياً (لإنشاء جزأين جنباً إلى جنب).
  • Prefix + ": تقسيم الجزء الحالي أفقياً (لإنشاء جزأين فوق بعضهما).
  • Prefix + arrow key: التنقل بين الأجزاء (مثلاً Prefix + Left Arrow للانتقال للجزء الأيسر).
  • Prefix + z: تكبير/تصغير الجزء الحالي (Zoom).
  • Prefix + x: إغلاق الجزء الحالي.
  • Prefix + ;: التبديل بين الجزء الحالي والجزء السابق.
  • Prefix + Space: تبديل تخطيط الأجزاء (Cycle through layouts).

إدارة الجلسات (Sessions)

  • Prefix + d: فصل الجلسة الحالية (Detach). هذا هو المفتاح السحري! ستعود إلى الطرفية العادية ولكن جلسة TMUX الخاصة بك ستظل تعمل في الخلفية.
  • tmux ls: عرض قائمة بجميع جلسات TMUX النشطة.
  • tmux attach -t my_dev_session: إعادة الاتصال بجلسة محددة بالاسم.
  • tmux attach: إعادة الاتصال بآخر جلسة تم فصلها.
  • tmux kill-session -t my_dev_session: إنهاء جلسة محددة.
  • tmux kill-server: إنهاء جميع جلسات TMUX (كن حذراً!).

نصائح متقدمة (Advanced Tips)

ملف التكوين (.tmux.conf)

يمكنك تخصيص TMUX بشكل كبير عن طريق إنشاء ملف .tmux.conf في دليلك الرئيسي (~/.tmux.conf). هنا يمكنك تغيير مفتاح البادئة، إضافة اختصارات مخصصة، وتغيير الألوان والمظهر.

مثال لتغيير مفتاح البادئة إلى Ctrl+a (مثل Screen):

# ~/.tmux.conf
set -g prefix C-a
unbind C-b
bind C-a send-prefix

لإعادة تحميل ملف التكوين بعد التعديل (داخل جلسة TMUX):

Prefix + :
source-file ~/.tmux.conf

وضع النسخ (Copy Mode) والتمرير (Scrolling)

هذه ميزة قوية تتيح لك التمرير في مخرجات الطرفية ونسخ النص.

  • Prefix + [: الدخول إلى وضع النسخ.
  • استخدم مفاتيح الأسهم أو PgUp/PgDn للتمرير.
  • إذا كنت تستخدم مفاتيح Vim: h, j, k, l للتنقل.
  • للبدء في تحديد النص: Spacebar.
  • لإنهاء التحديد والنسخ: Enter.
  • للصق النص: Prefix + ].

الخاتمة

TMUX هو أكثر من مجرد "أداة طرفية"؛ إنه بيئة عمل متكاملة تحسن إنتاجيتك بشكل كبير، خاصة عند العمل على الخوادم البعيدة. القدرة على فصل الجلسات وإعادة الاتصال بها لا تقدر بثمن، وتوفر عليك الكثير من الإحباط والوقت الضائع. ابدأ في استخدامه اليوم، ولن تعود أبداً للعمل بدونها!

أتمنى أن يكون هذا الدرس قد أفادكم. إلى اللقاء في درس آخر!