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)

Személyes eszközök