استخدم tmux لإنشاء طرفية أحلامك

استخدم tmux لإنشاء طرفية أحلامك

يمكنك استخدام tmux لفعل كثيرا من الأشياء لاسيما عند إضافة tmuxinator لمجموعتك. اطلع عليهم في السلسلة الخامسة عشر من سلسلة حول 20 طريقة  لتصبح أكثر إنتاجية مع البرمجيات مفتوحة المصدر في عام 2020.

أنجز كل شيء في الطرفية باستخدام tmux وtmuxinator

لقد كتبت في هذه السلسلة حتى هذه اللحظة عن التطبيقات الفردية والأدوات. وبدءًا من اليوم سأشرح طريقة تكاملها معًا بخطوات إعداد شاملة لتتكامل معا، ابتداءً من سطر الأوامر، وسبب ذلك ببساطة أن سطر الأوامر يتيح النفاذ للكثير من الأدوات والوظائف من أي مكان أستطيع فيه تشغيل بروتوكول النقل الآمن (SSH)، حيث يمكنني تشغيل بروتوكول النقل الآمن في حاسوبي الشخصي وتنفيذ الإعدادات ذاتها في حاسوب العمل في الوقت الذي أستخدم فيه جهازي الشخصي. وأول أداة سأستخدمها هي أداة tmux.

يستخدم غالبية الناس tmux للوظائف الأساسية ومنها مثلًا فتح tmux في خادم عن بُعد ثم البدء في عملية ما، وربما فتح جلسة ثانية لمشاهدة ملفات السجل أو تنقيح الأخطاء ثم قطع الاتصال والعودة لاحقًا، لكن يمكنك أداء كثيرا من الأعمال باستخدام tmux.

في البداية، احفظ نسخة احتياطية من ملف إعدادات tmux إذا كنت تملكه. ملف الإعداد لـtmux هو ~/.tmux.conf.

انقله لمجلد آخر مثل ~/tmp، ثم استنسخ مشروع Oh My Tmux بواسطة جت (Git). اعمل له وصلة  بــ.tmux.conf وانسخه ثم ألصقه في ملف .tmux.conf.local لإجراء التعديلات:

cd ~
mkdir ~/tmp
mv ~/.tmux.conf ~/tmp/
git clone https://github.com/gpakosz/.tmux.git
ln -s ~/.tmux/.tmux.conf ./
cp ~/.tmux.conf.local ./

يحتوي ملف .tmux.conf.local على إعدادات محلية وتخصيصات إضافية.على سبيل المثال، قمت بتغيير الألوان الافتراضية قليلًا وشغّلت مقسمات Powerline.

يظهر هذا المقطع الأشياء التي غيّرتها فقط:

tmux_conf_theme_24b_colour=true
tmux_conf_theme_focused_pane_bg='default'
tmux_conf_theme_pane_border_style=fat
tmux_conf_theme_left_separator_main='\uE0B0'
tmux_conf_theme_left_separator_sub='\uE0B1'
tmux_conf_theme_right_separator_main='\uE0B2'
tmux_conf_theme_right_separator_sub='\uE0B3'
#tmux_conf_battery_bar_symbol_full='◼'
#tmux_conf_battery_bar_symbol_empty='◻'
tmux_conf_battery_bar_symbol_full='♥'
tmux_conf_battery_bar_symbol_empty='·'
tmux_conf_copy_to_os_clipboard=true
set -g mouse on

لاحظ أنك لست بحاجة إلى تثبيت Powerline - أنت تحتاج فقط لخطٍ يدعم رموز Powerline. استخدمت أنا خط Hack Nerd Font لكل ما يتعلق بالطرفية تقريبًا لسهولة استخدامه بالنسبة لي ولاحتوائه على العديد من الرموز الإضافية ذات الفائدة. وكما ستلاحظ أنني شغّلت دعم حافظة نظام التشغيل ودعم الفأرة.

والآن، عندما يعمل tmux سيوفر شريط المعلومات في الأسفل معلومات أكثر بألوان رائعة، ولا يزال مفتاح Ctrl+b "الرائد" لإدخال الأوامر إلا أني قمت بتغيير أشياء أخرى.

فيمكن فصل الواجهة أفقيًا (أعلى/أسفل) بالمفتاح Ctrl+b+- ورأسيًا بالمفتاح Ctrl+b+_ . ويمكنك النقر لتبديل الألواح وسحبها لتحجيمها عند تشغيل وضعية الفأرة. ولا يزال أمر فتح نافذة جديدة بالمفتاح Ctrl+b+n ويمكنك الآن النقر على اسم النافذة في الشريط السفلي للتبديل بينهما. كما سيفتح الأمر Ctrl+b+e ملف .tmux.conf.local للتعديل عليه. سيعيد tmux تحميل الإعدادات عند إغلاق المحرر دون إعادة تحميل أي شيء آخر. إنه أمر مفيد للغاية.

قمت فقط بإجراء بعض التعديلات البسيطة حتى الآن من الناحية الوظيفية والعرض المرئي وقمت بإضافة دعم الفأرة.

سأعدّه الآن ليشغّل التطبيقات التي أريدها بطريقة ذكية دون الحاجة لتغيير موضعها وتحجيمها كل مرة لذا سأستخدم tmuxinator وهو مشغل لـtmux يسمح بتحديد التخطيطات وتطبيقات التشغيل الذاتي وإدارتهن بواسطة ملف YAML. ولكي تستخدمه شغّل tmux وأنشئ ألواحًا بالأشياء التي تريد أن تعمل عليها. ثم افتح نافذة جديدة بواسطة Ctrl+b+n ونفّذ tmux list-windows. ستحصل على معلومات مفصلة عن التخطيط.

لاحظ السطر الأول في الشفرة أعلاه حيث أعددت 4 ألواح مع تطبيق في كل منها. احفظ المخرجات لتستخدمها في وقت لاحق. شغّل الآن tmuxinator new 20days لإنشاء تخطيط باسم 20days. سيشغل هذا محرر النصوص بملف التخطيط الافتراضي حيث يحتوي على عديد من الخيارات المفيدة التي أشجعك على قراءتها كلها. ابدأ بوضع معلومات التخطيط أعلاه والتطبيقات التي تريدها في المكان:

# /Users/ksonney/.config/tmuxinator/20days.yml
name: 20days
root: ~/
windows:
   - mail:
      layout: d9da,208x60,0,0[208x26,0,0{104x26,0,0,0,103x26,105,0,5},208x33,0,27{104x33,0,27,1,103x33,105,27,4}]] @0
      panes:
        - alot
        - abook
        - ikhal
        - todo.sh ls +20days

كن حذرًا مع المسافات! وكما هو الحال مع شفرة لغة بايثون فإن المسافات والمسافة البادئة مهمة في كيفية تفسير الملف. احفظ الملف ثم شغّل tmuxinator 20days. ينبغي أن تحصل على 4 ألواح مع برنامج البريد الوت (alot) وبرنامج abook وبرنامج ikhal (اختصار لبرنامج khal التفاعلي) وأي برنامج آخر في todo.txt مع الوسم +20days.

ستلاحظ أن النافذة في الشريط السفلي هي بريد معنون. يمكنك النقر على الاسم (إلى جانب النوافذ الأخرى المسماة) للانتقال إلى ذلك العرض. رائع، أليس كذلك؟ أعددت نافذة ثانية باسم Social ببرنامج Tuir وNewsboat وعميل IRC الموصول ببرنامج BitlBee وRainbow Stream في نفس الملف.

Tmux هو قوتي لتتبع كل الأمور وباستخدام tmuxinator ليس عليّ القلق حول تحجيم تطبيقاتي وتثبيتها والبدء في تشغيلها.

هذه المقالة ترجمة عن Use tmux to create the console of your dreams تأليف كيفن سوني وترجمة زينب الذهلية