Tmux
Autor
Siim Saar Grupp A21
Sissejuhatus
tmux (Terminal multiplexer) on levinud töörist UNIXi laadsetel operatsioonisüsteemidel, mis võimaldab kasutajal avada mitu virtuaalset terminali ühes aknas. Tmux kui algselt käivitada loob seansi, millest on võimalik kasutajal väljuda, ilma et ükski seal sees töötavatest terminalidest sulguks. Kasutaja võib hiljem uuesti avada seansi ja jätkata tööd sealt kust see pooleli jäi. Tmuxis on võimalik virtuaalseid terminale paigutada ja nende suurust muuta nii kuidas on vajalik.
Kasutusala
Tmuxil on mitu kasutusala, kuid põhiliselt kasutatakse tarkvara läbi SSH/Telneti serverites töötamiseks ja nende haldamiseks või tarkvaraarenduse keskkonna loomiseks. Serverite puhul kasutatakse tmuxi selleks, et kui telneti või SSH ühendus peaks katkema, siis ei sulgu terminal, kus võib töötada mingi kriitiline rakendus. Arenduses on tmux kasutuses koos erinevate käsureal töötavate tekstiredaktoritega (vim, emacs), kus ühes paanis asub tekstiredaktor, teises paanis kompileeritakse programmi, kolmandas jooksutatakse programmi, et jälgida veateateid jne.
Paigaldus
Debian
# apt install tmux
Arch
# pacman -S tmux
Gentoo
# emerge --ask app-misc/tmux
Fedora
# dnf install tmux
Kastuamine
Väljaspool seanssi
Uue seansi alustamine
tmux # uus seans tmux new -s <nimi> # alustab seansi määratud nimega
Seansi taasavamine
tmux a # avab viimase seansi tmux a -t <nimi> # avab seansi nime järgi
Kõik jooksvad seansid
tmux ls
Seansi sulgemine
tmux kill-session -t <nimi>
Tmuxi seansis
Klahvikombinatsioonide kasutamiseks algseadmetega tuleb vajutada Ctrl+B ning seejärel
Üldine
? - List kõikidest klahvikombinatsioonidest d - Välju sesioonist s - Näita kõiki jooksvaid sesioone : - Tmuxi konsool
Aknad
c - Loo uus aken sesioonis n - Mine järgmisse aknasse p - Mine eelmisse aknasse & - Sulge tmuxi aken 0-9 - Vali aken numbri järgi
Paanid
" - Tee tmuxi paan horisontaalselt pooleks % - Tee tmuxi paan vertikaalselt pooleks o - Vaheta paani ! - Tee paan aknaks - - Tee aken paaniks x - Sulge paan C + Nooleklahvid - Suurenda paani suuna järgi M (Alt) + Nooleklahvid - Suurend paani 5 kordselt suuna järgi Nooleklahvid - Vali paan nooleklahvi suuna järgi
Konfigureerimine
Tmux on ülimalt konfigureeritav, kasutajal on võimalik muuta klahvikombinatsioone enda soovide järgi, muuta staatuseribale kuvatavat informatsiooni ning lubada funktsioone, mis muidu on keelatud.
Kasutaja tmuxi konfiguratsioon asub ~/.tmux.conf, kuid globaalne konfiguratsioon asub /etc/tmux.conf
Kui alustada tmuxi konfiguratsiooni kirjutamisega tasub algselt lisada klahvikombinatsioon konfiguratsioonfaili taaslaadimiseks tmuxi enda sees
bind r source-file ~/.tmux.conf
Lubame hiirega paanide vahetamise ( tmux 2.1+ )
set -g mouse on
Ctrl+B kombinatsioon mis eelneb igale järgnevale kombinatsioonile on klaviatuuril ebamugav vajutada, muudame selle Ctrl+A peale, mis on populaarne mugavam alternatiiv
unbind C-b set-option -g prefix C-a bind-key C-a send-prefix
Vimi klahvikombinatsioonide lubamine
set-window-option -g mode-keys vi bind-key -t vi-copy 'v' begin-selection bind-key -t vi-copy 'y' copy-selection
Pikem ajalugu
set -g history-limit 50000
Pistikprogrammid
Tmux laseb enda funktsionaalsust suurendada läbi pistikprogrammide ehk pluginate.
Tmux-resurrect
https://github.com/tmux-plugins/tmux-resurrect
Tmux-resurrect on pistikprogramm tmuxile, mis võimaldab salvestada tmuxi seanse ning neid hiljem taastada ka pärast tmuxi sulgemist.
Paigaldus
1. Plugina installimiskoht ei ole oluline ning tuleks valida endale sobiv koht kettal.
$ git clone https://github.com/tmux-plugins/tmux-resurrect
2. Lisada pistikprogramm tmuxi konfiguratsiooni
run-shell ~/clone/path/resurrect.tmux
3. Tmuxi sees taaslaadida konfiguratsiooni fail
:source-file <konfiguratsioon>
4. Kui tahate, et tmux-resurrect taastaks ka programmid, mis töötasid seansis, siis lisada antud lõik konfiguratsiooni
set -g @resurrect-processes ':all:'
Kastuamine
Antud kombinatsioonid kehtivad vaid vaikekonfiguratsiooni puhul
Ctrl+B + Ctrl+S - Salvestab seansi Ctrl+B + Ctrl+R - Taastab seansi
Tmux-continuum
Tmux-continuum on pistikprogramm, mis salvestab tmuxi seansse iga seatud intervalli tagant, alustab tmuxi seanssi koheselt peale severi käivitumist ning taastab viimase salvestatud seansi. Laiendus toetub tmux-resurrectile, mistõttu peab see olema eelnevalt allalaetud ja lisatud tmux konfiguratsiooni.
Paigaldus
1. Plugina installimiskoht ei ole oluline ning tuleks valida endale sobiv koht kettal.
$ git clone https://github.com/tmux-plugins/tmux-continuum
2. Lisada pistikprogramm tmuxi konfiguratsiooni
run-shell ~/clone/path/continuum.tmux
3. Tmuxi sees taaslaadida konfiguratsiooni fail
:source-file <konfiguratsioon>
4. (valikuline) Lubame automaatse tmuxi alustamise tmuxi konfis
set -g @continuum-boot 'on'
5. (valikuline) Lubame automaatse seansi taastamise peale tmuxi käivitamist
set -g @continuum-restore 'on'
Kasutamine
Tmux-continuum on suunatud automatiseerimisele ning mingeid uusi klahvikombinatsioone ei ole. Kasutajal on aga võimalik muuta intervalli, mille tagant salvestatakse tmuxi seanssi.
set -g @continuum-save-interval '<intervall>'
Kokkuvõte
Tmux teeb terminalis töötamise palju mugavamaks võimaldades töökeskonda muuta vastavalt enda vajadustele ning neid salvestada ja taastada.
Allikad
Tmuxi koduleht
Arch Linux Wiki - Tmux
Gentoo Linux Wiki - Tmux
Tmux Primer
Github - tmux-resurrect
Github - tmux-continuum