Tmux چیست و لزوم یادگیری آن برای لینوکسی ها

یکی از مشکلاتی که به عنوان یک مدیر لینوکس مدتها باهاش سر و کله میزدم باز بودن تب ها و ترمینال های مختلف برای کار با سرور ها بود.

زمانی که تنها از zsh استفاده میکردم و کامپوننت دیگه ای نداشتم مجبور بودم تب های زیادی باز کنم ، تب ها زیاد میشد و معلوم نبود هر کدوم از تب ها چه کارهایی انجام میدادن و در کدوم مسیر بودن.
معمولا اکثر لینوکسی ها عاشق ترمینال هستن و داشتن یه ترمینال جذاب و همچنین کار آمد خیلی میتونه کمک کنه.

Tmux

چند وقت پیش بود که با استفاده از Tmux تونستم مشکلم رو حل کنم . Tmux یک ترمینال چندگانه که به شما اجازه اجرا همزمان چندین برنامه ( که به صورت جداگانه در پس زمینه در حال اجرا هستند) در یک ترمینال رو میده.

Tmux این قابلیت رو داره که از صفحه نمایش ( ترمینالی که دارید باهاش کار میکنید) جدا بشه و هر زمان که نیاز داشتید دوباره میتونید بهش وصل بشید.

Tmux

برای نصب Tmux ابتدا باید ‍‍libevent رو نصب کرده باشید که میتونید اون رو از وبسایت اصلی دانلود و نصب کنید.

حالا نوبت نصب tmux میرسه که با دستورات زیر میتونید این کار رو انجام بدید :‌

git clone https://github.com/tmux/tmux.git
cd tmux
sh autogen.sh
./configure && make

ابتدا repository اصلی tmux رو بارگذاری میکنیم روی سیستم خودمون (کلون میگیریم) ، پیشنهادم اینه قبل از انجام به پوشه tmp برید ، با استفاده از دستور بعدی وارد دایرکتوری بارگذاری شده میریم و سپس فایل های نصبی رو اجرا میکنیم.
معمولا اکثر افراد با zsh کار کردن و به عنوان ترمینال اصلی قرار دادنش ، اگر از zsh نمیکنید برای تکمیل خودکار دستورات پیشنهاد میکنم این پکیج رو هم نصب کنید .
حالا با زدن دستور زیر میتونید وارد محیط Tmux بشید :

tmux

برای استفاده از Tmux به عنوان ترمینال پیش فرض باید کد زیر را در تنظیمات ترمینال پیش فرض که در اینجا برای من zsh هست قرار بدید :

[[ $TERM != "screen" ]] && exec tmux

معمولا فایل کانفیگ bash پیش فرض در ~/.bashrc و برای zsh در ~/.zshrc هست.

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

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

در تنظیمات و آموزش هایی که برای این کامپوننت هست معمولا کلمه prefix را زیاد میبینید که به صورت پیش فرض منظور ترکیب کلید های ctrl + b هست.
در Tmux شما میتونید به جای استفاده از پنجر های مختلف از یک پنجره با چندین panes استفاده کنید.
برای ساخت از دستورات زیر میتونید استفاده کنید :

Prefix + “
Prefix + %

با استفاده از دستور اول pane به صورت افقی و در دستور دوم به صورت عمودی ایجاد میشه.
برای بستن هر کدوم از pane هم میتونید از Ctrl +d استفاده کنید.

برای تغییر اسم pane از Prefix + , بعد از تغییر هم Enter بزنید.

برای جابه جایی بین Pane ها میتونید از Prefix + [arrow key] استفاده کنید.

اگر دوست داشتید یکی از pane ها به صورت تمام صفحه بشه از Prefix + z و برای برگشت به حالت قبل هم از همین دستور استفاده کنید.

برای تغییر سایز pane از دستور Prefix + Ctrl +[arrow key] میشه بهره گرفت.
با استفاده از لینکی که در بالا قرار دادم میتونید لیست کامل کلید های میانبر رو ببینید.

Tmux پلاگین های زیادی داره که میتونید ازشون استفاده کنید، برای استفاده از این پلاگین ها از Tmux plugin manager استفاده میکنیم.

با استفاده از دستور زیر Tmux plugin manager را نصب کنید :

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

برای استفاده از پلاگین ها و همچنین شخصی سازی باید یک فایل با نام .tmux.conf در مسیر کاربر جاری یا همون ~ داشته باشیم.

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

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'

برای اضافه کردن پلاگین جدید تنها باید خط زیر رو به فایل کانفیگ اضافه کنید:

set -g @plugin 'github_username/plugin_name'

بعد از اضافه کردن هر پلاگین باید تنظیمات tmux را با استفاده از دستور زیر بارگذاری کنید:

tmux source ~/.tmux.conf

مدیران لینوکسی مثل من دوست دارن تنها یک صفحه ترمینال به صورت تمام صفحه جلوشون باز باشه و تمامی کارها با استفاده از ترمینال صورت بگیره . کارهای زیادی میشه انجام داد از نمایش باتری ، تاریخ ، میزان مصرف رم و cpuتا شخصی سازی clipboard و … .
برای مثال من دوست دارم همیشه میزان مصرف باتری و تاریخ در بالای ترمییال نمایش داده بشه با اضافه کردن خط زیر به فایل .tmux.conf. منو به بالای ترمینال اضافه میشه :

set -g status-right '#{battery_status_bg} Batt: #{battery_icon} #{battery_percentage} #{battery_remain} | %a %h-%d %H:%M '                                                                                          
set-option -g status-position top

در اینجا سعی کردم به صورت خلاصه شما با Tmux آشنا بشید ، با توجه به اینکه پلاگین ها و قابلیت های زیادی وجود داره برای اطلاعات بیشتر میتونید از لینک های این مقاله و یا دستورPrefix + ? در ترمینال استفاده کنید.

 

مطالب مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *