نماد سایت حامد نادرفر

شروع کار با Tmux

tmux چیست؟

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

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

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

تمام دستورات در tmux با یک پیش‌وند شروع می‌شوند که به صورت پیش‌فرض ctrl+b است.

نصب tmux

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

نصب tmux در اوبونتو و دبیان

sudo apt install tmux

نصب tmux در سنت‌اس و فدورا

sudo yum install tmux

نصب tmux در macOS

brew install tmux

شروع نشست اول tmux

برای شروع نشست اول tmux، به سادگی کافیست دستور tmux را در ترمینال وارد کنید:

tmux

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

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

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

Ctrl+b ?

ایجاد نشست‌های tmux با نام دلخواه

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

tmux new -s session_name

خارج شدن از نشست tmux

شما می‌توانید از نشست tmux جدا شده و به شل معمولی خود بازگردید:

Ctrl+b d

اگر برنامه در نشست‌های tmux خود در حال اجرا بودند با خارج شدن از tmux در همان وضعیت اجرا باقی خواهند ماند.

بازگشت به نشست tmux

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

tmux ls

نام نشست در ستون اول خروجی قرار دارد.

0: 1 windows (created Sat Sep 15 09:38:43 2018) [158x35]
my_named_session: 1 windows (created Sat Sep 15 10:13:11 2018) [78x35]

همانطور که از خروجی مشاهده می‌شود، دو نشست tmux در حال اجرا وجود دارند. اولی به نام 0 و دومی به نام my_named_session است.

به عنوان مثال، برای وصل شدن به نشست 0، باید وارد کنید:

tmux attach-session -t 0

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

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

برای ایجاد یک پنجره جدید با یک شل، کافیست Ctrl+b c را وارد کنید، شماره اولیه در دامنه 0 تا 9 به آن اختصاص داده می‌شود.

یک لیست از تمام پنجره‌ها در خط وضعیت در پایین صفحه نمایش داده می‌شود.

در زیر، چند دستور متداول برای مدیریت پنجره‌ها و بخش‌های tmux آورده شده‌اند:

    Ctrl+b c Create a new window (with shell)
    Ctrl+b w Choose window from a list
    Ctrl+b 0 Switch to window 0 (by number )
    Ctrl+b , Rename the current window
    Ctrl+b % Split current pane horizontally into two panes
    Ctrl+b " Split current pane vertically into two panes
    Ctrl+b o Go to the next pane
    Ctrl+b ; Toggle between the current and previous pane
    Ctrl+b x Close the current pane

سفارشی‌سازی tmux

وقتی tmux را راه‌اندازی می‌کنید، پارامترهای پیکربندی آن را از مسیر زیر در صورت وجود می‌خواند.

~/.tmux.conf

نمونه‌ای از تنظیمات در پایین لیست شده است:

بهبود رنگ‌ها

set -g default-terminal 'screen-256color'

تنظیم بافر scrollback به 10000

set -g history-limit 10000

سفارشی‌سازی خط وضعیت پایین ترمینال

set -g status-fg  green
set -g status-bg  black

استفاده پایه از tmux

در زیر مراحل اساسی برای شروع کار با tmux آورده شده‌اند:

    On the command prompt, type tmux new -s my_session,
    Run the desired program.
    Use the key sequence Ctrl-b + d to detach from the session.
    Reattach to the Tmux session by typing tmux attach-session -t my_session.

نتیجه‌گیری

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

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

man tmux

منابع:

https://linuxize.com/post/getting-started-with-tmux/