מבוא

לאחרונה יצא לי לעבוד עם מרבב טרמינל (terminal multiplexer) שנקרא tmux.

מה שהוא יודע לעשות: אתה פותח חלונית טרמינל אחת, לא יותר, ומקליד פקודה, למשל htop שמציגה לך ניטור משאבי המערכת. עכשיו, אתה רוצה להקליד עוד פקודות - אין בעיה - תפתח עוד חלונית, נקרא לזה טאב, וכך תוכל לעבור בין תצוגת הניטור לחלונית (טאב) החדש.

נגיד בחלונית (שוב, כמו טאב) אתה רוצה לפצל את המסך לשנים שתוכל לעבוד על שני דברים במקביל על מסך אחד - אין בעיה, איך אתה רוצה? אופקית או אנוכית?

אתה צריך בדיוק גם להתחבר לשרת מרוחק, מה תעשה? אין בעיה, תפתח סשן חדש! תוכל להתנתק מהסשן ולהתחבר אליו, מתי שאתה רוצה, מבלי להפסיק את התהליכים הרצים בו.

כיצד להתקין

ניתן להתקין בהפצות לינוקס שונות עם מנהלי החבילות:

Fedora:

sudo dnf install tmux

Debian or Ubuntu:

sudo apt install tmux

Arch Linux:

sudo pacman -S tmux

התחלה מהירה

כדי להבין טוב יותר הנה המחשה כיצד פועלים הסשנים - חלונות - ופיינס (Pane - חלונית מפוצלת אורכית או אנוכית):

Session: "work"
├── Window 0: "server"
│   ├── Pane 0: npm run dev
│   └── Pane 1: tail -f logs.txt
├── Window 1: "editor"
│   └── Pane 0: nvim
└── Window 2: "shell"
    ├── Pane 0: htop
    └── Pane 1: zsh

בכל סשן יש חלונית, או כמה חלוניות, ובכל חלונית יש ‘פיין’ או כמה ‘פיינס’.

מדריך קצר למשתמש

להלן טבלה לצעדים ראשונים.

לפני שמתחילים: ב-tmux כל פעם שאומרים prefix מתכוונים לקיצור המקש: ctrl-b ולאחר מכן המקש הרצוי.

התחלה

פשוט: tmux בטרמינל.

פקודה מקש
פיצול מסך אופקית prefix + ""
פיצול מסך אנוכית prefix + %
חלון חדש prefix + c
מעבר בין חלונות prefix + מספר
מעבר בין panes prefix + חיצים