Tmux

From EIK wiki

Autor

Siim Saar
Grupp A21
Detsember 2016

Sissejuhatus

tmux (Terminal multiplexer) on levinud tööriist 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

Kasutamine

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 sessioonist
s - Näita kõiki jooksvaid sessioone
: - Tmuxi konsool

Aknad

c - Loo uus aken sessioonis
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 - Suurenda 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

Github - 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:'

Kasutamine

Antud kombinatsioonid kehtivad vaid vaikekonfiguratsiooni puhul

Ctrl+B + Ctrl+S - Salvestab seansi
Ctrl+B + Ctrl+R - Taastab seansi

Tmux-continuum

Github - 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öökeskondi muuta vastavalt enda vajadustele ning neid salvestada ja taastada. Sobib väga hästi nõudlikule kasutajale, kes tahab kõik täpselt konfigureerida enda vajaduste järgi ja lisada või programmeerida juurde funktsionaalsust.

Allikad

Tmuxi koduleht
Arch Linux Wiki - Tmux
Gentoo Linux Wiki - Tmux
Tmux Primer
Github - tmux-resurrect
Github - tmux-continuum