ُ

خیلی وقتها واسم پیش اومده داشتم استاتوس Tor رو می گرفتم و از اون ور میخواستم با youtube-dl یه ویدیو از یوتیوب دانلود کنم.و همزمان یه فایل با ویم باز کنم و کانفیگِ فایل هامو دستکاری کنم.همیشه تو این موارد باز کردن یه تب جدید راهگشا بوده.بعضی وقت ها هم نمیدونم چرا دستم میرفت رو دکمه create new terminal و واییی!!!

یه دسکتاپ بدترکیب جلوی چشمم ظاهر میشد با چند ترمینال تو سایزهای مختلف که هرکدوم هم یکی دوتا تب دارن.خب خیلی زشته نه؟!

چی میشد اگه یه برنامه ای بود که همه این ترمینال ها رو یه جا جمع می کرد و یه سری تسهیلات به کاربر میداد که راحت بتونه بین پنجره های ترمینالش سوییچ کنه.خوب.باید بگم خوشبختانه چنین امکانی مهیا هست واسمون.اسم این برنامه Tmux هست.

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

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

این برنامه هم مثل ویم قابلیت تغییر تم رو داره و میتونید رنگ و لعاب بهش بدین.تو لینک های زیر میتونید تم ها را اعمال کنید به tmux تون:

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

پلاگین های مختلف رو میخوام رو tmux نصب کنم.چه کنم؟

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

سناریوی شروع خودکار ترمینال+tmux

میخوام یه کاری کنم که موقع شروع به کار سیستمم به صورت اتوماتیک ترمینالم باز بشه و تمام سشن هایی که قبلا توی tmux داشته مشون رو بازیابی کنم.خوب روال کار به این صورته:

۱-تو مسیر /~/.config/autostart یه فایلی میسازم به نام gnomeStartUp.desktop و محتویات زیر رو میریزم توش:

[Desktop Entry]
Type=Application
Exec=gnome-terminal --maximize
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[en_US]=gnomeStartUp
Comment[en_US]=
X-GNOME-Autostart-Delay=0

البته این کار تو سینمون به یه روش ساده تر هم قابل انجام هست.کافیه برید تو مسیر:

system setting-->start up application

و یه انتری جدید(custome command) بهش اضافه کنید.تو بخش name یه اسم دلخواه میذارم.(در اینجا gnomeStartUp) و تو بخش command هم دستور باز شدن ترمینال مد نظرمو قرار دادم.(ترمینال سیستم من gnome-terminal هستش.) و برای اینکه ترمینال رو در حالت ماکسیمایز باز کنه بهش یه آپشن --maximize هم پاس میدم.

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

۲-مرحله بعد این هستش که توی شل مون باید دستور بدیم که tmux ران بشه و سشن های بسته شده ی قبل ریستارت رو بازیابی کنه.این کار به کمک پلاگین tmux-resurrect انجام میشه.در ضمن شلی که دارم ازش استفاده میکنم zsh هست.کدهای زیر رو به انتهای فایل zshrc. تون اضافه کنید:

###############################  
# Tmux Configurations
###############################
# Auto Start TMUX On Login
if which tmux >/dev/null 2>&1; then
#if not inside a tmux session, and if no session is started, start a new session
test -z "$TMUX" && (tmux attach -t base || tmux new -s base);
xdotool key ctrl+a key ctrl+r
fi

یه کانفیگ خوب واسه tmux م میخوام.از کجا پیدا کنم؟

جواب ساده ست.اینترنت!

منتهی چون من خودم یه بار این راهو رفتم تصمیم گرفتم کانفیگ خودمو که تلفیقی از چند تا کانفیگ مختف بود رو بذارم رو gist.میتونید ازش استفاده کنید.