Tmux چیست و چگونه کار می‌کند؟

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


tmux  چیست؟

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

چرا از tmux استفاده کنید

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


در ادامه چند سناریو نمونه برای کاربرد tmux آورده شده است:

  • کاربری می‌خواهد یک جلسه جدید را شروع کند و در حالی که جلسه فعلی را فعال نگه دارد، روی یک پروژه جدید کار کند. با tmux امکان ایجاد یک Session جدید و شروع کار وجود دارد. پس از اتمام، می‌توانند جلسه قبلی را باز کرده و به کار خود ادامه دهند.
  • مدیر سیستم یک سرور راه دور مانند VPS را مدیریت می‌کند. او می‌خواهد برنامه‌ای را حتی پس از قطع شدن از سرور در حال اجرا نگه دارند. حتی اگر Tmux جلسه جاری را جدا(detach) کند، تمام فرآیندهای جلسه Tmux فعال باقی می‌مانند.
  • کاربر می‌خواهد آزمایش کند که آیا برنامه به درستی اجرا می‌شود، اگرچه این کار به پنجره ترمینال دوم نیاز دارد. برای اینکه خود را از دردسر شروع یک اتصال SSH جدید در یک ترمینال جداگانه نجات دهد، می‌تواند یک جلسه جدید در tmux ایجاد نماید که به عنوان جلسه ترمینال دوم عمل می‌کند.

نحوه نصب tmux در اوبونتو

شما می توانید tmux را در مخزن رسمی اوبونتو پیدا کنید، بنابراین نصب آن را آسان می کند. نصب Tmux به سادگی استفاده از مدیر بسته APT است.
با  APT ، می‌توانید بسته‌ها را بدون نگرانی در مورد وابستگی‌ها نصب، حذف و به‌روزرسانی کنید. همچنین برای بررسی و فهرست‌بندی بسته‌های نصب شده در اوبونتو یا سایر توزیع‌های دبیان مفید است.

ابتدا از طریق SSH به VPS خود دسترسی پیدا کرده و  پس از اتصال، این دستور را برای نصب ابزار اجرا کنید:

apt-get install tmux -y


پس از آن، نسخه نصب شده مشاهده و تایید کنید:

tmux -V

tmux اکنون به درستی نصب شده و آماده استفاده است.


نحوه استفاده از tmux

این بخش نحوه استفاده و کنترل tmux را به شما نشان می‌دهد. دستور پیش فرض برای راه اندازی کلاینت tmux به صورت زیر است:

tmux

نکته :  برای اینکه هر دستور محیط tmux کار کند، باید از چیزی استفاده کنید که پیشوند نامیده می شود. پیشوند پیش فرض Ctrl + B است. توجه داشته باشید که ممکن است برخی از وب‌سایت‌ها را پیدا کنید که دستورات tmux را با پیشوند C-b لیست می‌کنند، اینجا منظور این است که  (C → Ctrl و کلید b → “B“)

تیماکس چیست و چگونه کار می‌کند

نحوه تقسیم صفحات در tmux

به طور پیش فرض، اولین جلسه ایجاد شده توسط tmux یک پنجره ترمینال واحد خواهد بود. برای استفاده بیشتر از این ابزار، باید پنجره فعلی را به چند قسمت تقسیم کنید.

نکته :  توجه داشته باشید که فشار دادن کلید tmux دو قسمتی است - یک پیشوند مانند C-b، رها کنید و سپس به سرعت دستور مورد نظر مانند ٪ را فشار دهید. به عنوان مثال، برای جدا کردن پنجره‌ها به دو بخش برای جلسه جدید ایجاد شده، دستور مورد استفاده علامت درصد (% ) است. از آنجایی که شما همچنین باید از یک پیشوند استفاده کنید، کل دستور %  +  [ prefix ]  خواهد بود.

اگر می‌خواهید پنجره را از بالا به پایین تقسیم کنید، از علامت نقل قول ” همراه با پیشوند استفاده کنید؛ پنجره شما به شکل زیر خواهد بود:

تقسیم پنجره ترمینال با تیماکس

نحوه پیمایش پنجره‌ها در tmux

پیمایش بین پنجره‌ها به سادگی با استفاده از پیشوند و کلیدهای جهت دار است. فرض کنید می‌خواهید به پنجره بعدی در سمت راست بروید، کافیست کلید پیشوند(Ctrl + B) را فشار داده و بعد از کلید پیکان سمت راست (→) استفاده کنید.

به عنوان مثال، اگر می‌خواهید به پنجره انتخاب شده قبلی برگردید، روند برعکس خواهد بود ، کافیست از پیشوند و کلید فلش چپ (←) استفاده کنید. همین امر در مورد پنجره‌های عمودی نیز صدق می‌کند که از فلش‌های بالا ( ↑ ) و پایین ( ↓ ) برای رفتن به صفحه بعدی استفاده می‌کنند.

نحوه بستن پنجره‌ها در tmux

برای بستن یک pane، ابتدا باید به آن رفته و  هنگامی که انتخاب شد، روی  [prefix] + D کلیک کنید یا به سادگی دستور  exit را بنویسید. توجه داشته باشید که paneهای باقیمانده دوباره مرتب می‌شوند.

نحوه ایجاد پنجره در tmux

شما می‌توانید یک پنجره tmux جدید مانند یک جلسه ترمینال جدید در نظر بگیرید. برای ایجاد یک پنجره جدید، از [prefix] + C استفاده کنید. حال این امکان وجود دارد که پنجره جدید را هم مانند قبلی به دلخواه خود تقسیم کنید یا به طور کامل یک پنجره جدید داشته باشید. برای پیمایش بین پنجره‌ها، از [prefix] + N  برای رفتن به پنجره بعدی یا  [prefix] + P برای رفتن به پنجره قبلی استفاده کنید.

نکته :  از آنجایی که همه پنجره‌ها دارای یک عدد هستند، می توانید از [prefix]  و [number] برای پیمایش استفاده کنید.

نحوه مدیریت جلسات در tmux

برای آزمایش نحوه عملکرد جلسات tmux، ابتدا باید تمام جلسات از قبل attach شده را جدا کنید. برای انجام این کار، از  [prefix] + D استفاده کنید. پس از انجام این کار، تمام جلسات فعلی را فهرست کنید:


tmux ls 

یا

tmux list-sessions

برای اتصال به یک جلسه خاص، از دستور زیر با عدد (n) مربوط به یک جلسه استفاده کنید:

tmux att -t n

این دستور شما را به جلسه انتخابی با تمام پیشرفت ذخیره شده می‌برد.


همچنین امکان تغییر نام جلسات وجود دارد. برای این کار از دستور استفاده کنید. n شناسه جلسه و session_name نام جلسه ترجیحی شماست.

tmux rename-session -t n session_name

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

خرید وی پی اس یک ماشین مجازی کامل است که امکان دسترسی SSH طبق آموزش را به آن خواهید داشت.
خرید وی پی اس در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.
دستور توضیحات دستور توضیحات
[prefix] + ? لیست تمام میانبرها [prefix] + ; تغییر آخرین Pane فعال
[prefix] + C پنجره جدید [prefix] + O تعویض pane‌ها
[prefix] + N پنجره بعدی [prefix] + X kill کردن pane
[prefix] + W لیست تمام ویندوزها [prefix] + + Break کردن و شکستن pane
[prefix] + , تغییر نام یک پنجره [prefix] + - بازیابی pane از یک پنجره
[prefix] + P پنجره قبلی [prefix] + Q نمایش اعداد pane
[prefix] + F یک پنجره پیدا کنید [prefix] + Z زوم کردن pane و خارج شدن از حالت zoom
[prefix] + & یک پنجره را kill کن [prefix] + Space جابه جایی بین layout
[prefix] + % تقسیم به پنجره‌های عمودی [prefix] + { جا به جایی pane به چپ
[prefix] + “ تقسیم به پنجره‌های افقی [prefix] + } جا به جایی pane به راست
[prefix] + ; تغییر آخرین Pane فعال  [prefix] +Arrow  پیمایش بین pane‌ها

نتیجه

tmux یکی از محبوبترین مالتی پلکسرهای ترمینال برای سیستم عامل‌های مبتنی بر یونیکس است که به کاربران اجازه می‌دهد تا پنجره ترمینال خود را به طور موثر مدیریت کنند و آن را مطابق میل خود تطبیق دهند.
اگر به عنوان مدیر  سرور از دستور screen  برای مدیریت جلسات در لینوکس استفاده می‌کنید، توصیه می‌کنم tmux  را امتحان نموده و از کاربرد آن لذت ببرید. در این مطلب، برخی از مفاهیم اولیه tmux را توضیح داده‌ایم:

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

امیدواریم این آموزش برای شما مفید بوده باشد. اگر سوال یا دیدگاه دیگری دارید، آن ها را در بخش نظرات مطرح کنید.