Primi passi con Tmux

16/01/23 | ~ 4 minuti

Tmux è un terminal multiplexer, ossia un software che permette di avviare sessioni multiple su una singola tty o finestra di emulatore di terminale.

Tmux si rivela molto utile per il controllo di sistemi privi di interfaccia grafica e viene tipicamente utilizzato per l'accesso SSH su server remoti. Tra le sue peculiarità si annovera anche la possibilità di eseguire più sessioni in background.
Alcune funzionalità ed interazioni con la sua interfaccia, rendono Tmux uno strumento utile anche per approcciarsi più facilmente ai miei amati tiling window manager.

Per consuetudine la rappresentazione dei comandi avviene con il prefisso "$ ", che non va digitato nella shell.

Apertura

Partiamo con ordine. $ tmux Il comando avvierà il server di Tmux o una nuova sessione.
Ogni server può avere una o più sessioni, composte a loro volta da o una o più finestre.
Le finestre possono essere divise infine in pannelli.

Comandi esterni

Tmux può ricevere comandi dall'esterno, quando le sessioni stanno girando in background (o non ce ne sono affatto).

$ tmux new -s s1 Creare una sessione con nome s1 (meglio non esagerare con la lunghezza dei nomi) e collegarsi direttamente.

$ tmux a -t s1 Agganciarsi (la a sta per attach, che si può scrivere anche per esteso) alla sessione s1.

$ tmux rename-session -t s1 s3 Rinominare la sessione s1 in s3.

$ tmux kill-session -t s2 Eliminare la sessione s2.

$ tmux ls Elencare le sessioni attive e il numero di finestre di ognuna di esse.

Comandi interni

Una volta agganciati ad una sessione (l'interfaccia di Tmux è riconoscibile da una banda verde, in basso, che contiene informazioni sulle sessioni e altro) i comandi di Tmux sono combinazioni di tasti sempre preceduti da un prefisso.
Il prefisso di default è ctrl + b e va impartito tenendo premuto il tasto ctrl seguito da b.
Il tasto del comando vero e proprio può essere premuto dopo aver rilasciato la sequenza del prefisso.
Il prefisso può essere modificato dal file di configurazione di Tmux.


Seguendo la logica del prefisso seguito dal tasto di un comando, per quanto riguarda il controllo delle sessioni:

Prefisso + s Mostra un elenco delle sessioni attive. È possibile navigare anche in tutte le finestre e nei relativi pannelli.

Prefisso + $ Rinominare la sessione corrente.

Prefisso + ) Muoversi alla sessione successiva.

Prefisso + ( Muoversi alla sessione precedente.

Prefisso + d Scollega dalla sessione corrente, che rimane attiva in background.


Per le finestre:

Prefisso + , Rinominare la finestra attiva.

Prefisso + & Chiudere la finestra attiva.

Prefisso + n Passare alla finestra successiva.

Prefisso + p Passare alla finestra precedente.


Infine per quanto riguarda i pannelli:

Prefisso + % Divide la finestra in verticale, creando un nuovo pannello.

Prefisso + " Divide la finestra in orizzontale, un nuovo pannello sarà creato.

Prefisso + freccia direzionale Le frecce, precedute dal prefisso, permettono di muoversi tra i pannelli della finestra.

Prefisso + z Mette il pannello attivo in modalità fullscreen.

Prefisso + x Killa (ok, chiude, ma la conferma vi chiederà proprio di "killare") il pannello attivo.

Prefisso + [ Attiva la modalità di scorrimento (si esce con Invio).

[user@dajelinux ~]$ dajelinux --per-approfondire

Un sistema costruito interamente intorno a Tmux...il mio sogno...