V druhém díle o tmuxu se podíváme na práci s okny, podokny a stavovým řádkem. Ukážeme si jak lze zařídit, aby tmux spolupracoval s vašimi skripty a jak si tmux můžete nakonfigurovat k obrazu svému.
2.4.2012 00:00 | David Adamczyk | přečteno 7949×
Okna mohou pracovat v několika režimech, výchozí režim je přímý přístup do terminálu v okně. Druhý režim je kopírovací. Tento režim dovoluje vybrané oblasti v okně nebo v jeho historii kopírovat do bufferu pro pozdější použití. Pokud se chcete přepnout do kopírovacího režimu použijte klávesovou zkratku [
Každá pracovní plocha v terminálu je tvořena jedním oknem. Nové okno vyvtoříte příkazem:
$ tmux new-windowzapsaným do terminálu, nebo klávesovou zkratkou [Ctrl-b c] a přepínat se mezi jednotlivými okny je možné pomocí klávesové zkratky [Ctrl-b n] (skok na další okno) nebo [Ctrl-b p] (skok na předchozí okno). Jednotlivé aktivity oken monitoruje stavový řádek. Vytvořené okno můžete ukončit kávesovou zkratkou [Ctrl-b &], nebo přejmenovat pomocí [Ctrl-b ,] máte-li více než deset oken, bude se Vám hodit k přepínání mezi okny klávesová zkratka [Ctrl-b ‘] do výzvy, která se objeví v dolní části obrazovky zadejte číslo indexu okna. Nevyhovuje-li Vám standardní název okna, který symbolizuje aktuální spuštěný program, přejmenujte si název okna pomocí příkazu:
$ tmux rename-windowpřípadně použijte klávesovou zkratku [Ctrl-b ,]. Takto si můžete rozdělit okna tak, aby co nejlépe vyhovovaly Vašemu stylu práce. Informace o aktuálním okně zobrazíte stiskem [Ctrl-b i]. Interaktivní menu pro výběr okna vyvoláte stiskem [Ctrl-b w], nebo můžete přepnout na konkrétní okno příkazem:
$ tmux select-window -t :0-9nebo stiskem [Ctrl-b (0-9)]. Pro vyhledávání textu máte k dispozici klávesovou zkratku [Ctrl-b f].
Každé okno je možné rozdělit na několik podoken, na kterých můžete samostatně pracovat. Podokna vytvoříte z okna jejich rozdělením a to buď horizontálně na dvě okna nadsebou pomocí klávesové zkratky [Ctrl-b “] případně příkazem:
$ tmux split-window -hnebo vertikálně na dvě okna vedle sebe přípazem:
$ tmux split-windownebo pomocí klávesové zkratky [Ctrl-b %]. Přepínání mezi jednotlivými podokny je řešeno velmi intuitivně klávesovou zkratkou [Ctrl-b šipka (nahoru, dolu, doleva, doprava)] případně použitím příkazu:
$ tmux select-pane -[UDLR]Stejným způsobem rovněž měníte velikost podoken, stiskem [Ctrl-b Alt-šipka(nahoru,dolu,doleva,doprava)] posouváte okrajem aktivního podokna o pět znaků nebo [Ctrl-b Ctrl-šipka(nahoru,dolu,doleva,doprava)] o jeden znak. Pokud se vám nelíbí seskupení podoken, můžete jejich pozici libovolně měnit, [Ctrl-b {] vymění aktuální panel s předchozím panelem a naopak [Ctrl-b }] vymění aktuální panel s následujícím panelem. Stejné funkce docílíte i příkazem
$ tmux swap-pane -[UDLR]který přesouvá podokna v určeném směru.Mezi předchozím a aktivním panelem přepínáte stiskem [Ctrl-b ;] rotovat panely lze stiskem [Ctrl-b Meta-o]. Opravdovou lahůdkou je změna layoutu pomocí klávesové zkratky [Ctrl-b Space] nebo přepnutí na konkrétní layout pomocí klávesové zkratky [Ctrl-b Meta-(1 až 5)]. Aktuálně zvolené podokno vytrhnete a ostatní podokna přesunete do nově vytvořeného okna stisknutím [Ctrl-b !]. Jste-li během práce zmateni a nevíte na kterém panelu se zrovna nacházíte nechte si vypsat očíslování všech podoken stisknutím [Ctrl-b q]. Jestliže víte číslo podokna (např. index 1), přepněte se na něj příkazem:
$ tmux select-pane -t :.1Zrušení panelu provedete klávesovou zkratkou [Ctrl-b x]. Stiskem [Ctrl-b t] zobrazíte v podokně aktuální čas.
Stavový řádek poskytuje při práci užitečné informace, nebo může uživatele vyzvat k ruzným akcím. Ve stavovém řádku se setkáme s následujícími symboly:
Symbol | Význam |
* | Označuje aktuálně zvolené okno |
- | Označuje okno se kterým se pracovalo naposled (než jste se přepli na jiné aktuální okno) |
# | Pro okno je zapnuto monitorování aktivity |
! | Signalizace v příslušném okně |
+ | V okně se objevil požadovaný obsah |
~ | V okně se neobjevilo nic nového během stanoveného intervalu |
Veškerá nastavení se nacházejí v souboru ~/.tmux.conf nebo v /etc/tmux.conftento soubor umožňuje nastavit požadované vlastnosti tmux serveru, sezení, stavového řádku, oken, podoken a klávesové zkratky. Jednotlivé volby mohou být zobrazeny pomocí show-options nebo nastaveny pomocí set-options. Jestliže nastavujete volbu, která má platit globálně v rámci celého tmux serveru, použijte přepínač -s. Příkaz set-option má následující zápis:
set-option [-agsuw] [-t target-session | target-window] option value -a jestliže hodnotou je řetězec, bude nová hodnota přidána do řetězce -g vynucení globální platnosti pro celé sezení -s vynucení platnosti v rámci celého serveru -u zruší individuální volbu a zavede tu, která je nastavená v rámci celého sezení -w nastavení platné pro celé okno -t specifikuje platnost pro konkrétní sezení nebo okno option volba value hodnota
show-options [-gsw] [-t target-session | target-window] -g nastavení platné globálně -s nastavení platné pro server -w nastavení platné pro okno -t výběr konkrétního sezení nebo okna
set-environment [-gru] [-t target-session] name [value]
show-environment [-g] [-t target-session]Možnosti jak si pracovní prostředí tmuxu nakonfigurovat jsou opravdu vysoké
$ tmux show-options -g -t 0Následuje malá ukázka toho jak by mohl vypadat Váš konfigurační soubor:
# # Konfiguracni soubor tmuxu - ulozit do .tmux.conf v domovskem adresari # # Prenastaveni modifikatoru Ctrl-b na Ctrl-a set-option -g prefix Ctrl-a bind-key Ctrl-a last-window # Prvnim indexem bude cislo 1 (standardne se zacina od 0) set -g base-index 1 # Nastaveni stavoveho radku set -g status-bg black set -g status-fg white set -g status-left "" set -g status-right "#[fg=green]#H" # Uprava modifikatoru na Ctrl-a a <prikaz> pro odeslani prikazu v pripade vnorene session v jine session bind-key a send-prefix # Monitoring aktivit setw -g monitor-activity on set -g visual-activity on # Priklad zapisu parametru stavoveho radku #set -g status-right "#[fg=yellow]#(uptime | cut -d ',' -f 2-)" # Vysviceni aktivniho okna set-window-option -g window-status-current-bg redNezapomeňte si jej uložit do svého domovského adresáře
Pomocí skriptů, které budou s tmuxem spolupracovat si můžete zautomatizovat vetšinu prováděných úloh. Typickým příkladem může být příprava prostředí pro určitou činnost (například programování). Zájemcům doporučuji nahlédnout na zajímavý projekt s názvem Tmuxinator. Pro inspiraci jak takové prostředí pro vývoj s Tmuxinatorem může vypadat navštivte blog o vývoji v Ruby s názvem Shapeshed a blog o vývoji v Djangu s názvem Andrew Brookins. Pokud si chcete nějaký skript napsat sami, bude Vám stačit základní znalost skriptování v shellu. Ve svých skriptech můžete volat všechny příkazy tmuxu tak, jak jsou uvedeny v těchto dvou článcích (je zde uveden pouze výběr základních nejdůležitějších příkazů, pro popis ostatních příkazů doporučuji nahlédnout do manuálové stránky tmuxu).