Používanie tmux so synchronizovaným vstupom

:toolbox: Používanie tmux so synchronizovaným vstupom (broadcast input)

Tento návod ti umožní efektívne pracovať vo viacerých paneloch naraz pomocou tmux. Vďaka synchronizovanému vstupu (broadcast) môžeš zadávať príkazy do viacerých panelov súčasne.


:hammer_and_wrench: 1. Inštalácia tmux

Arch / CachyOS / Manjaro:

paru -S tmux

Ubuntu / Debian:

sudo apt install tmux

:gear: 2. Vytvorenie konfigurácie ~/.tmux.conf

V termináli spusti:

nano ~/.tmux.conf

A vlož nasledujúci obsah:

set -g mouse on
setw -g mode-keys vi
set -g history-limit 10000

bind-key v split-window -h
bind-key h split-window -v

bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

bind s setw synchronize-panes \; display-message "Broadcast: #{?pane_synchronized,ON,OFF}"

bind x kill-pane

set-option -g aggressive-resize on

set -g status-bg colour234
set -g status-fg white
set -g status-left "#[fg=green]#H"
set -g status-right "#[fg=yellow]%Y-%m-%d #[fg=cyan]%H:%M:%S"

Načítanie konfigurácie (ak už beží tmux):

tmux source-file ~/.tmux.conf

:rocket: 3. Spustenie tmux

tmux

Otvorí sa nové tmux okno s jedným panelom.


:musical_keyboard: 4. Klávesové skratky podľa konfigurácie

Akcia Skratka
Horizontálne rozdelenie Ctrl + b, potom v
Vertikálne rozdelenie Ctrl + b, potom h
Prepínanie medzi panelmi Alt + / / /
Zapnutie/vypnutie broadcastu Ctrl + b, potom s
Zatvorenie aktuálneho panelu Ctrl + b, potom x

:satellite_antenna: 5. Synchronizovaný vstup (broadcast)

Zapnutie:

Ctrl + b, potom s
Zobrazí sa:

Broadcast: ON

Vypnutie:

Znova Ctrl + b, potom s
Zobrazí sa:

Broadcast: OFF

:white_check_mark: 6. Príklad použitia

  1. Spusti tmux:

    tmux
    
  2. Rozdeľ okno:

    • Ctrl + b, potom h
    • Ctrl + b, potom v
  3. V každom paneli sa pripoj napr. cez SSH:

    ssh user@server1
    
  4. Zapni synchronizovaný vstup: Ctrl + b, potom s

  5. Spusti príkaz, ktorý sa vykoná vo všetkých paneloch:

    apt update && apt upgrade -y
    

:stop_button: 7. Ukončenie tmux

  • Ukonči jednotlivé panely príkazom:

    exit
    
  • Alebo ukonči celú reláciu:

    tmux kill-session