Tmux
A HupWiki-ből...
UNDER CONSTRUCTION
Tartalomjegyzék |
Bevezetés
A tmux egy 'terminal multiplexer', a dtach-hez vagy a GNU screen-hez hasonlóan alkalmas több shell vagy program egyidejű futtatására több 'ablakban' úgy, hogy a benne futó folyamatokat átmenetileg magukra lehet hagyni, aztán újrakapcsolódni.
A screen-nel szemben a tmux többek között átláthatóbb dokumentációt, egyszerűbb konfigurációt, megengedőbb (BSD) licencet és (legalábbis egyelőre) folyamatos fejlesztői aktivitást ígér. Már része az OpenBSD es a FreeBSD alaprendszernek is.
A tmux szerver-kliens kapcsolatban dolgozik; az egyes munkamenetek (session) a /tmp/tmux-*/ alatti socketeken keresztül kommunikálnak. Ezekhez egyidejűleg több kliens is kapcsolódhat.
Kintről befelé az alábbi elemek alkotják a tmux session-t:
- szerver
- munkamenet (session)
- ablak (window)
- keret (pane) - opcionális
- kliens - az adott ablakban futó program, jellemzően egy shell
A program eredeti szerzője Nicholas Marriott (NicM), OpenBSD fejlesztő.
Fordítás, függőségek
A fordításhoz jelenleg elvileg ncurses szükséges, de működik például az AIX-ben levő default curses library-vel is.
Szintaxis
tmux [opciók...] [[parancs] [parancs-opciók...]]
A legtöbb parancsnak van egy rövid aliasa is, illetve minden opció elérhető a legrövidebb egyedi formájában is, tehát 'attach' helyett elég az 'att' is.
Példák:
Kapcsolódás a default session-höz a többi kliens leválasztásával (kb 'screen -DR'):
tmux attach -d
VAGY
tmux att -d
Aktív munkamenetek (session) listázása
tmux list-sessions
VAGY
tmux list-se
VAGY
tmux ls
Parancssori opciók (kivonat)
| Kapcsoló | Magyarázat | Default érték |
| -f $file | külön konfigurációs file megadása | ~/.tmux.conf |
| -L $socketname | külön socket file megadása | /tmp/tmux-*/default) |
| -S $socketdir | külön socket könyvtár megadása | /tmp/tmux-*/ |
| -v ... -vvvv | debug különböző mélységben | (a logok a $PWD alatt jönnek létre) |
Parancsok (kivonat)
| Opció | Alias | Funkció |
| attach-session | attach, att | csatlakozás munkamenethez |
| kill-server | N/A | szerver terminálása (összes ablak) |
| kill-session | N/A | munkamenet terminálása |
| list-clients | lsc | kliensek megjelenítése |
| list-sessions | ls | munkamenetek megjelenítése |
| list-windows | lsw | ablakok megjelenítése |
| new-session | new | új munkamenet indítása |
| start-server | start | 'üres' szerver indítása |
Key binding-ok
A default bindkey a Ctrl-b. Tehát például a detach 'Ctrl-b d'.
A screen-ben megszokott Ctrl-a-ra az alábbiak segítségével lehet átállítani a ~/.tmux.conf-ban:
set -g prefix C-a bind-key C-a last-window
A legfontosabbak hasonlóak, mint a screen-ben:
| c | create | ablak létrehozása |
| d | detach | lecsatlakozás a session-ről |
| n | next-window | következő ablak |
| p | previous-window | előző ablak |
| q | display-panes | keretek (számának) megjelenítése |
| x | kill-pane | keret elpusztítása (jóváhagyással) |
| & | kill-window | ablak elpusztítása (jóváhagyással) |
| , | rename-window | ablak atnevezese |
| Space | next-layout | keretek elrendezési típusai |
| nyilak | *-pane | mozgás a keretek között |
| [ ] | copy-mode, paste-buffer | kijelölés, beillesztés |
| 0 1... 9 | select-window | megadott sorszámú ablak kiválasztása |
| : | command-prompt | paranccsor (Tab kiegészítéssel) |
| = | scroll-mode | scrollback mód (kilépés: Esc) |
| ? | list-keys | help, key binding-ok listája |
screen - tmux keresztreferencia
| Opcio | screen | tmux |
| User konfiguracios file | ~.screenrc | ~.tmux.conf |
| Sessionok helye | /tmp/uscreens/ | /tmp/tmux-10/ |
| Sessionok listazasa | screen -ls | tmux ls |
| Default bind key | Ctrl-a | Ctrl-b |
| Ablak atnevezese | <bindkey> A | <bindkey> , |
| Ujracsatlakozas | screen -x | tmux attach |
| Ujracsatlakozas +kliensek levalasztasa | screen -DR | tmux attach -d |
Hivatkozások
tmux website (Sourceforge) - changelog, FAQ, screenshot...
tmux manual (PDF)
