با استفاده از tmux، می‌توانید چندین نشست ترمینال ایجاد کنید؛ بطوریکه نشست‌ها بصورت مستقل باز (وصل) و بسته (جدا) شده و یا اینکه بطور همزمان همه از یک پنجره نمایش داده شوند.

 

 

یادگیری چگونگی استفاده از تقسیم کننده ترمینال، چنانچه زمان زیادی را در ترمینال صرف می‌کنید، باعث کاهش سردرگمی‌های شما می‌شود. این امر، به‌ویژه برای زمانی بسیار مفید است که فعالیت شما شامل دسترسی به دستگاه‌های ریموت تنها از طریق خط فرمان باشد.

 

این مطلب نیز ممکن است برای شما مفید باشد: aria2 ابزار دانلود چند پروتکلی در ترمینال لینوکس

 

Tmux، نسخه تکاملی تقسیم کننده ترمینال GNU Screen در نظر گرفته شده است.

اگر شما از screen استفاده می‌کنید، کار کردن با tmux برای شما بسیار آسان خواهد بود. چراکه شباهت‌های زیادی بین این دو برنامه وجود دارد.

در این مقاله می‌خواهیم به شما نحوه نصب tmux و همچنین اجرای عملیات اصلی را آموزش دهیم.

 

نصب tmux

Tmux، یک برنامه محبوب است و باید در مخزن رسمی توزیع لینوکس شما در دسترس باشد. شما می‌توانید آن را با استفاده از مدیریت بسته سیستم خود نصب کنید.

در توزیع‌های مبتنی بر دبیان و اوبونتو، می‌توانید آن را با استفاده از دستور زیر نصب نمایید:

sudo apt install tmux

 

شروع کار با tmux

همانطور که بیان شد، tmux یک برنامه عالی برای افزایش کارایی شماست. اگرچه tmux، یک نرم‌افزار قدرتمند است، اما برای شروع کار، استفاده از آن می‌تواند کمی گیج کننده باشد.

 

ایجاد نشست در tmux

ترمینال را باز کرده و از دستور زیر استفاده نمایید:

christopher@linuxhandbook:~$ tmux

این دستور، شما را به tmux می‌آورد. اگرچه مطابق معمول یک ترمینال فرمان را مشاهده خواهید کرد، اما اکنون یک منویی را نیز در انتهای ترمینال مشاهده می‌نمایید که داخل آن عبارت *bash 0 قرار دارد. ستاره نشان می‌دهد که این، پنجره فعال شما است.

بیایید یک پنجره چندتایی ایجاد کنیم؛ بطوریکه بتوانید بین آن‌ها جابجا شوید. شما می‌توانید این کار را با استفاده از پیشوند c+[ctrl+b] انجام دهید.

در این مرحله، شما باید در نوار پایین چیزی به نام bash:1 را مشاهده نمایید. بیایید قبل از ادامه مراحل یک پنجره دیگر نیز اضافه کنیم.

اکنون، باید با پنجره‌هایی مانند تصویر زیر روبه‌رو شوید. شما باید در مجموع سه پنجره ترمینال جدید داشته باشید (در هر لحظه فقط یک پنجره را مشاهده خواهید کرد).

 

نام‌گذاری اتوماتیک پنجره

Tmux، در واقع می‌تواند برخی از برنامه‌های خاص را شناسایی کرده و پنجره‌های شما را بطور خودکار تغییر نام دهد (اگر صریحاً نام پنجره خود را تعیین نکرده باشید). به‌عنوان‌مثال، اگر شما دستور top را در یک پنجره اجرا کنید، متوجه خواهید شد که نام پنجره از bash به top تغییر کرده است.

 

مقایسه نشست، پنجره و قطعه (pane) در tmux

ابتدا بیایید تفاوت بین نشست، پنجره و صفحه را در tmux درک نماییم.

نشست‌ها را به‌عنوان کتاب‌ها، پنجره‌ها را به‌عنوان فصل‌ها و قطعه‌های پنجره را به عنوان صفحات آن در نظر بگیرید.

یک نشست می‌تواند دارای چندین پنجره باشد. یک پنجره اساساً یک ترمینال است. شما می‌توانید پنجره‌ای را بصورت چندین قطعه عمودی و افقی تقسیم کنید. این بدان معنی است که یک پنجره ترمینال می‌تواند چندین پایانه در خود داشته باشد.

شما می‌توانید یک نشست tmux برای یک موضوع یا پروژه خاص ایجاد کنید. به‌عنوان‌مثال، اگر شما سه سرور را مدیریت می‌کنید، می‌توانید به منظور انجام کارها برای هر سرور یک نشست ایجاد نمایید. شما می‌توانید حتی به‌منظور انجام برخی از کارهای محافظتی، از پنجره‌ای برای نظارت بر منابع سیستم و ... استفاده کنید. پنجره نظارت بر سیستم می‌تواند چندین صفحه برای نظارت بر حافظه، CPU و استفاده از دیسک داشته باشد.

 

جابه‌جایی پنجره‌ها در یک نشست tmux

به یاد داشته باشید که فشردن همزمان کلید ترکیبی ctrl+b به نرم‌افزار می‌گوید که شما می‌خواهید یک دستور وارد نمایید. برای یادگیری نحوه جابه‌جایی در رابط tmux به جدول زیر نگاه کنید.

Previous Next n (0, 1, 2, 3 etc.)
[ctrl + b] + p [ctrl + b] + n Switch to n Window: [ctrl + b] + 0

 

اکنون می‌توانید به صفحه جلو یا عقب حرکت کرده یا یک صفحه خاص را با شماره شناسه آن انتخاب نمایید. برای سریع‌تر انجام داده این کارها باید تمرین بیشتری بکنید.

 

این مطلب نیز ممکن است برای شما مفید باشد: بستن ترمینال بدون قطع فرآیندهای در حال اجرا در لینوکس

 

توجه: چنانچه قبلاً از دستور Screen بسیار استفاده کرده‌اید، ممکن است عادت کرده باشید از پیشوند [ctrl+a] استفاده نمایید. ویرایش فایل تنظیمات به شما امکان می‌دهد در صورت تمایل پیشوند مربوطه را تغییر دهید.

 

جابه‌جایی با استفاده از لیست کردن پنجره

گزینه دیگر، استفاده از [ctrl+b]+w می‌باشد. این، به شما یک نمای کلی از نشست‌ها می‌دهد. شما می‌توانید از کلیدهای جهت‌دار برای انتخاب پنجره یا صفحه مورد نظر استفاده نمایید.

 

نام گذاری یا تغییر نام پنجره در tmux

شما می‌توانید پنجره فعلی خود را به‌صورت زیر نام گذاری نمایید:

[ctrl+b] + ,

 

نام گذاری نشست tmux

شاید برای شما مفید باشد که نشست‌های خود را با عنوان‌های معنادار نام گذاری کنید تا بدین صورت کارها ساماندهی شود. بیایید اولین نشست خود را با tmux نامگذاری نمایید. برای این کار، دستور زیر را وارد کنید:

tmux new -s free

اکنون باید نشست جدیدی از اجرای tmux داشته باشید. اگر به قسمت پایین-سمت چپ پنجره نگاه کنید، نام نشست خود را به جای نام عمومی “bash” مشاهده خواهید کرد.

اگر شما یک نشست ایجاد کرده اید، می‌توانید آن را نامگذاری کرده یا با استفاده از دستور زیر آن را تغییر نام دهید:

[ctrl+b] + $

 

جدا کردن یک نشست بدون قطع کردن آن (خارج شدن از نشست tmux و اجرا در پس زمینه)

ابتدا بیایید free را به همراه دستور watch اجرا نمایید؛ چراکه نتایج را هر 2 ثانیه به روز می‌کند.

watch free

پس از شروع برنامه، پیش بروید و نشست را جدا کنید. برای این کار از دستور زیر استفاده نمایید:

[ctrl + b] + d

اکنون باید برای شما یک پنجره فرمان استاندارد برگرداند. به خاطر داشته باشید که نشست tmux هنوز در پس زمینه اجرا می‌شود و می‌توانید هر زمان که بخواهید دوباره وارد آن شوید.

 

لیست نشست‌های tmux

اکنون فکر می‌کنید نشست شما چه شد؟ آری، در پس زمینه هنوز در حال اجرا است. شما می‌توانید نشست را با نام یا شماره شناسه دوباره باز کنید، اما اگر نام نشست را فراموش نمایید، چه می‌کنید؟

یک تابع لیست ساخته شده در tmux وجود دارد:

tmux ls

این دستور، تمام نشست‌های tmux فعلی شما را لیست می‌کند. اجرای آن، منجر به تولید خروجی زیر می‌شود:

christopher@linuxhandbook:~$ tmux ls
free: 1 windows (created Sat Feb 29 03:16:31 2020) [80x23]

همانطور که می‌بینید، این دستور تعداد پنجره‌های یک نشست را نیز نشان می‌دهد.

 

وارد (وصل) کردن مجدد نشست در Tmux

برای باز کردن مجدد نشست tmux خود، می‌توانید از دستور tmux با گزینه attach یا attach-session به صورت زیر استفاده نمایید:

tmux attach -t session_name_or_number

در اینجا انیمیشنی وجود دارد که تمام این مراحل را تا اینجا نمایش نشان می‌دهد.

 

ایجاد چندین صفحه در tmux

اکنون شما می‌توانید فراتر از عملیات‌های اصلی tmux رفته و چندین صفحه را ایجاد کنید.

Horizontal (Left/Right) Vertical (Up/Down)
[ctrl + b] + % [ctrl + b] + “

 

 

بیایید با ایجاد یک تقسیم عمودی به کمک دستور زیر، این کار را امتحان نمایید.

[ctrl + b] + " 
[ctrl + b] +  %

اگر دستورات را به ترتیب ذکر شده وارد کرده باشید، شما باید سه صفحه به صورت زیر داشته باشید:

 

می‌توانید از کلید [ctrl+b] به همراه کلید فاصله استفاده کنید تا طرح صفحه انتخابی را تغییر دهید.

 

جابجایی بین صفحه‌ها

برای جابجایی بین صفحه‌ها می‌توانید از ترکیب [ctrl+b] و کلیدهای پیکان استفاده کنید.

[ctrl+b] + arrow keys

این دستور، صفحات را در مسیری که شما انتخاب می‌نمایید، می‌چرخاند. صفحه انتخاب شده به رنگ سبز برجسته خواهد شد.

 

بزرگنمایی در یک صفحه

شما همچنین می‌توانید با استفاده از کلید ترکیبی [ctrl+b]+z، یک صفحه انتخابی را بزرگنمایی کنید. این باعث می‌شود سایز صفحه نمایش انتخابی به اندازه کامل برسد. برای خروج از حالت بزرگنمایی، دوباره کلید ترکیبی [ctrl+b]+z را بزنید.

 

قطع کردن یا بستن صفحات

شما می‌توانید با استفاده از کلید ترکیبی [ctrl+b]+x، یک صفحه را ببندید.

در این صورت برای انجام این کار از شما تأیید می‌خواهد:

kill-pane 0? (y/n)

 

قطع کردن یا بستن پنجره در tmux

برای بستن پنجره فعلی (زبانه‌ها)، از دستور زیر استفاده نمایید:

[ctrl + b] + &

در این صورت، برای انجام این کار از شما تأیید درخواست می‌کند:

kill-window window_name? (y/n)

 

قطع کردن نشست‌ها در tmux

برای قطع نشست tmux فعلی که اکنون استفاده می‌کنید، ابتدا باید همه پنجره‌ها را قطع نمایید.

شما می‌توانید با استفاده از نام یا شماره یک نشست tmux، آن را بطور انتخابی قطع کنید:

tmux kill-session -t session_name_or_number

این دستور، حتی اگر شما داخل نشست باشید، آن را قطع می‌نماید.

اگر می‌خواهید تمام نشست‌ها را بجز موردی که در حال حاضر از آن استفاده می‌کنید (یا آخرین موردی که استفاده کرده‌اید) قطع نمایید، از دستور زیر استفاده کنید:

tmux kill-session -a

برای قطع تمام نشست‌های tmux به صورت یکجا، می‌توانید از دستور زیر استفاده نمایید:

tmux kill-server

اگرچه شما اصول اولیه tmux را در اینجا فرا گرفتید، ولیکن به یاد داشتن همه دستورات، به‌ویژه در ابتدای کار، آسان نیست. به منظور تسریع در یادگیری شما، در جدول زیر تمام دستورات خلاصه شده است.

Command Explanation
tmux آغاز نشست جدید
tmux new -s name آغاز نشست جدید با نام
tmux ls لیست تمام نشست‌ها
tmux kill-session -t name قطع نشست ذکر شده
tmux kill-session -a قطع تمام نشست‌ها به جز آخرین نشست استفاده شده
tmux kill-server tmux قطع تمام نشست‌های
tmux attach -t name وصل کردن نشست ذکر شده
[Ctrl +b] + d جدا کردن نشست فعلی
[Ctrl +b] + $ نام گذاری یا تغییر نام نشست فعلی
[Ctrl +b] + c ایجاد پنجره جدید
[Ctrl +b] + , نام گذاری یا تغییر نام پنجره فعلی
[Ctrl +b] + w لیست تمام پنجره‌ها
[Ctrl +b] + & بستن پنجره فعلی
[Ctrl +b] + n/p/N حرکت به پنجره بعدی/قبلی
[Ctrl +b] + % ایجاده صفحه افقی
[Ctrl +b] + “ ایجاد صفحه عمودی
[Ctrl +b] + space key تغییر طرح صفحه فعلی
[Ctrl +b] + z بزرگنمایی در صفحه فعلی
[Ctrl +b] + x بستن صفحه فعلی

 

 

منبع:

linuxhandbook