قبلا یه مقاله به انگلیسی نوشته بودم که بازخورد خوبی داشت تصمیم گرفتم به فارسی هم بنویسم. اول از همه دوست دارم بگم تیموکس(tmux) یه اختیاره و اجبار نیست. ممکنه دوست داشته باشید از ابزار هم ترازش screen استفاده کنید که خیلی هم عالیه و تقریبا کار کمتری از تیموکس نمیکنه ولی سلیقه من به تیموکس نزدیک تره. خوب بریم ببینیم تیموکس چی هست اصلا! تیموکس مخفف عبارت terminal multiplexer و همینطور که از اسمش پیداست کارش تقسیم کردم ترمینال شماست که به شما این امکان رو میده همزمان در یک صفحه چندتا کار بکنید! من چون در محیط کار لپتاپ خودم رو دارم و لرنامههای که دلم میخواد رو نصب میکنم همیشه از قبل از شروع به کار چند دقیقهای وقت میذارم تا ترمینالی که کار کردن باهاش بهم لذت میده رو درست کنم. البته این کار چند دقیق بیشتر طول نمیکشه. همکارهایی که قبلا با من کار کردند قبلا دیدن که من چه کار میکنم. ولی جدیدها وقتی برای اولین با من کار میکنن و با محیط ترمینال من روبرو میشن این جمله به زبونشون میاد(Fuck the hell I am looking at) : این اون لحظهای هست که برقی به چشمهای من میوفته. ولی بر خلاف ظاهر جذابش کار کردن باهاش زیاد پیچیده نیست! پس بلافاصله نصبش میکنیم تا ببینیم چجوری کار میکنه:
sudo apt-get install tmux
من چون در این لحظه اوبونتو دارم با apt نصبش میکنم. مطمئن که شما بلدید روی توزیعها دیگه باید چجوری نصبش کنید. بعد از این با هر بار اجراش میتونید ازش استفاده کنید و البته شاید دوست داشته باشید ته فایل ~/.bashrc
اضافش کنید.
tmux
خوب بعد از این میتوینم ببینیم که تیموکس اجرا شده و یه نوار سبزرنگ پائین ترمینال ظاهر شده. این نوار یا استاتوس بار قابلیت این رو داره که خیلی خلاقانه کاستومایز بشه. مثلا تقویم کاری اون پائین باشه یا وضعیت منابع سیستم و غیره ولی من اینجابهش نمیپردازم. برای اینکه با تیموکس صحبت کنیم باید از یک کلید به اصطلاح پریفیکس(prefix) استفاده کنیم این کلید پیشوند در تیموکس خیلی شبیه به پرفیکس در emacs هست( البته من طرفدارvim هتسم. (: ). این کلید از ترکیب کلیدهای C-b بوجود میاد(از این به بعد هرجا پستهای من رو میخونید C که بصورت حرف بزرگ نوشته شده یعنی کلید کنترلctrl). در واقع با فشردن کلید پیشوند به تیموکس اعلام میکنیم قصد اجرای دستوری داریم. برای نمونه ما اولین سشن تیموکسی خودمون رو به قسمت عمودی تقسیم میکنیم. برای این کار باید یکبار کلید % رو فشار بدیم. خروجی باید بشه شبیه تصویر زیر. خوب الان دو ترمینال چپ و راست داریم اما میشود خرد تر از این هم باشد به عنوان مثال سمت چپی را به دو قسمت افقی تبدیل میکنیم. برا این کار بعد از فشردن C-b باید یکبار کلید ” فشار بدیم. ممکنه براتون سوال پیش باید چطور بین ترمینال ها حرکت کنیم(اگر اینجوری پس حتما تو فکرید از تیموکس استفاده کنید).برای اینکار کافیه که اول کلیدهای C-b را به طور به ترتیب توالی همزمان فشار بدیم و بعدش با کلیدهای جهت بین ترمینالها حرکت کنیم. اگر همزمان که کلیدهای C-b را فشردهایم.
چطور یه ترمینال جدید درست کنیم؟
کاری نداره میتونیم به تیموکس بگیم C-b به این معنی که قصد اجرای فرمانی رو داریم و بعدش کلید c رو فشار بدیم. ایجاد کردن سشنهای جدید در تیموکس مشابه داشتن virtual desktop در محیطهای KDE و Gnome هست با این تفاوت باید با Command Line باهاش صحبت کرد. وقتی چند سشن باز داشته باشید میتونیم از سشنها لیست بگیریم.
tmux ls
خرجی باید بشه چیزی شبیه به این:
0: 2 windows (created Sat Sep 1 15:51:34 2018) [199x44] (detached)
با اینکه به تیموکس detached شده دوباره وصل شد باید از attach استفاده کنیم:
tmux attach -t 0
بعلاوه میشه براش اسم هم مشخص کرد:
tmux new -s database
پس باید امکان این باشه که اسم یه سشن رو هم عوض کرد:
tmux rename-session -t 0 database
و دفعه بعد که میخواهید به این سشن وصل بشید خیلی راحت میتونید بگید
tmux attach -t database
امیدوارم از این مقالهطوری من خوشتون آمده باشه.