-
- 10 مهر 1404
- سیستم عامل لینوکس
Tmux (مخفف Terminal Multiplexer) ابزاری قدرتمند و ضروری برای هر کاربر، توسعهدهنده یا مدیر سیستم لینوکس است. این ابزار به شما اجازه میدهد تا چندین ترمینال (یا به اصطلاح "Pane" و "Window") را در یک پنجره واحد ترمینال مدیریت کنید.
چرا باید از Tmux استفاده کنیم؟
استفاده از Tmux سه مزیت کلیدی دارد که بهرهوری شما را در محیط خط فرمان لینوکس به شدت افزایش میدهد:
-
پایداری (Persistence): اگر اتصال اینترنت شما قطع شود، یا به طور تصادفی ترمینال خود را ببندید، برنامههای در حال اجرا در یک جلسهی (Session) Tmux همچنان فعال باقی میمانند. میتوانید بعداً دوباره به همان جلسه متصل شوید و کارتان را از همان جایی که رها کردهاید، ادامه دهید. این ویژگی برای کار روی سرورهای ریموت از طریق SSH حیاتی است.
-
چندکاره بودن (Multitasking): Tmux به شما امکان میدهد صفحه ترمینال خود را به چندین پنل (Pane) عمودی و افقی تقسیم کرده و در هرکدام یک کار مجزا انجام دهید (مثلاً ویرایش کد در یک پنل، اجرای تستها در پنل دیگر، و نظارت بر لاگها در سومی).
-
مدیریت آسان: میتوانید چندین پنجره (Window) در یک جلسه ایجاد کنید (مانند تبهای مرورگر) و برای هر پروژه یا وظیفه یک پنجره اختصاص دهید.
شروع کار با Tmux
۱. نصب Tmux
Tmux در مخازن نرمافزاری اکثر توزیعهای لینوکس موجود است.
| توزیع | دستور نصب |
| دبیان/اوبونتو (Debian/Ubuntu) | sudo apt update && sudo apt install tmux -y |
| فدورا/سنتاواس (Fedora/CentOS) | sudo dnf install tmux -y یا sudo yum install tmux -y |
| آرچ لینوکس (Arch Linux) | sudo pacman -S tmux |
۲. ایجاد و ورود به Session
برای شروع کار با Tmux، کافی است دستور tmux را اجرا کنید:
tmux
با این کار یک جلسه جدید (Session) با نام پیشفرض (مثل 0 یا 1) و یک پنجره (Window) درون آن باز میشود. در پایین ترمینال یک نوار وضعیت (Status Bar) سبز رنگ ظاهر میشود که اطلاعاتی مانند نام Session و لیست Window ها را نمایش میدهد.
برای ایجاد یک Session با نام دلخواه (توصیه میشود):
tmux new -s my_project
my_project نام Session شما خواهد بود.
دستورات ضروری Tmux (کلیدهای میانبر)
تمامی دستورات کنترلی در Tmux با فشردن یک کلید پیشوند (Prefix Key) آغاز میشوند. کلید پیشوند پیشفرض در Tmux عبارت است از:
Ctrl+b
این بدین معناست که ابتدا Ctrl و b را همزمان فشار داده و رها میکنید، سپس کلید دستور مورد نظر را میفشارید.
۱. مدیریت Session ها (جلسات)
| عملکرد | کلید میانبر | دستور کامل (از خط فرمان) | توضیح |
| جدا شدن (Detach) | Ctrl+b سپس d | tmux detach |
خروج موقت از Session، در حالی که Session در پسزمینه فعال است. |
| لیست Session ها | Ctrl+b سپس s | tmux ls |
مشاهده لیست تمام Session های فعال. |
| اتصال مجدد (Attach) | Ctrl+b سپس a | tmux attach -t 0 (یا نام Session) |
اتصال مجدد به یک Session فعال (مثلاً Session شماره 0). |
| بستن Session | − | tmux kill-session -t 0 (یا نام Session) |
بستن کامل یک Session و توقف برنامههای آن. |
۲. مدیریت Window ها (پنجرهها - شبیه به تبها)
| عملکرد | کلید میانبر | توضیح |
| ایجاد Window جدید | Ctrl+b سپس c | یک تب/پنجره جدید در Session فعلی ایجاد میکند. |
| رفتن به Window بعدی | Ctrl+b سپس n | جابجایی به Window بعدی. |
| رفتن به Window قبلی | Ctrl+b سپس p | جابجایی به Window قبلی. |
| رفتن به Window با شماره | Ctrl+b سپس 0…9 | جابجایی مستقیم به Window با شماره مشخص. |
| تغییر نام Window | Ctrl+b سپس , (کاما) | نام Window فعلی را تغییر میدهد. |
۳. مدیریت Pane ها (پنلها - تقسیم صفحه)
| عملکرد | کلید میانبر | توضیح |
| تقسیم عمودی | Ctrl+b سپس % (درصد) | تقسیم Pane فعال به دو Pane عمودی (کنار هم). |
| تقسیم افقی | Ctrl+b سپس " (کوتیشن) | تقسیم Pane فعال به دو Pane افقی (بالا و پایین). |
| جابجایی بین Pane ها | Ctrl+b سپس کلیدهای جهتنما | جابجایی تمرکز (Focus) بین Pane های مختلف. |
| چرخش Pane ها | Ctrl+b سپس o | جابجایی دورانی تمرکز بین Pane ها. |
| بستن Pane فعال | Ctrl+b سپس x | بستن Pane فعال (نیاز به تأیید دارد). |
| تمام صفحه کردن (Zoom) | Ctrl+b سپس z | بزرگنمایی روی Pane فعال (برای بازگشت دوباره کلیدها را بزنید). |
قابلیتهای پیشرفته
۱. حالت کپی (Copy Mode)
اگر نیاز دارید متنی را از ترمینال کپی کنید و یا به لاگهای قبلی پیمایش کنید، باید وارد Copy Mode شوید:
| عملکرد | کلید میانبر | توضیح |
| ورود به Copy Mode | Ctrl+b سپس [ (قلاب باز) | میتوانید با کلیدهای جهتنما یا Vim/Emacs در متن پیمایش کنید. |
| شروع انتخاب متن | Space (در Copy Mode) | نشانگر را در محل شروع انتخاب قرار دهید و Space را فشار دهید. |
| کپی کردن | Enter (در Copy Mode) | پس از انتخاب، Enter را بزنید تا متن کپی شود و از Copy Mode خارج شوید. |
| جایگذاری (Paste) | Ctrl+b سپس ] (قلاب بسته) | محتویات کپی شده (در بافر Tmux) را جایگذاری میکند. |
۲. شخصیسازی و فایل پیکربندی
Tmux را میتوان با استفاده از فایل پیکربندی ~/.tmux.conf کاملاً شخصیسازی کرد. بسیاری از کاربران برای راحتتر شدن، کلید پیشوند پیشفرض Ctrl+b را به Ctrl+a تغییر میدهند.
مثالی از پیکربندی ~/.tmux.conf:
# تغییر کلید پیشوند به Ctrl+a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# فعالسازی پیمایش با ماوس
set -g mouse on
# تنظیم ترمینال برای رنگهای 256
set -g default-terminal "screen-256color"
# تنظیمات برای جابجایی بین پنلها با Ctrl + جهتنما (بعد از کلید پیشوند)
bind -n C-Left select-pane -L
bind -n C-Right select-pane -R
bind -n C-Up select-pane -U
bind -n C-Down select-pane -D
بعد از ویرایش، برای اعمال تغییرات بدون راهاندازی مجدد، دستور زیر را در خط فرمان Tmux (با Ctrl+b و سپس :) اجرا کنید:
:source-file ~/.tmux.conf
جمع بندی
Tmux یک ابزار حیاتی برای هر کسی است که وقت زیادی را در ترمینال لینوکس میگذراند. با تسلط بر این ابزار، میتوانید بهرهوری خود را به طور چشمگیری افزایش دهید و نگران قطع شدن اتصالهای SSH خود نباشید.
نظر خود را اینجا بنویسید