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
منابع: