Terminal multiplexer
A tutti noi capita di usare il raspberry su shell, magari in remoto tramite secure shell, per svolgere task tipici dell’ amministrazione di sistema.
Un terminal multiplexer, altro non è che l’evoluzione del terminale a riga di comando, tra le sue caratteristiche principali abbiamo la capacità di visualizzare contemporaneamente gli output di più terminali.
Questo genere di necessità è molto frequente, per esempio quando si vogliono eseguire diversi e processi, e magari tenerne sotto controllo l’esecuzione tramite apposite applicazioni di controllo, basti pensare ai comandi top o htop
o la possibilità di fare altro durante una compilazione.
Ad un terminal multiplexer si ricorre spesso, quando il terminale non è altro che una sessione su PuTTY.
Non a caso, i terminal multiplexer hanno anche un’ altra caratteristica significativa. Consentono di eseguire applicazioni in modo permanente. Tenendo in esecuzione un processo su una sessione remota con instabilità nella connessione!
Per esempio potremmo avviare qualcosa sul raspberry e controllarne gli effetti su shell remota su cellulare o su un’altro pc.
Ovviamente esistono diverse versioni di questo genere di applicativo, alcune più diffuse altre meno, oggi andremmo a parlare di quella che preferisco io.
Per ulteriori informazioni visitare la pagina wiki
TMUX
Tmux, offre la possibilità ad ogni utente di passare facilmente da un terminale all’altro sfruttando un’unica interfaccia a riga di comando.
Tmux fa tutto questo, supportando l’utente con caratteristiche molto interessanti ed intuitive. Generalmente tmux è disponibile su tutte le maggiori distribuzioni (quindi anche sul rasp), sebbene possiamo anche in questo caso scaricarlo ed installarlo tramite il sito ufficiale.
Per avviarlo, è sufficiente digitare il comando tmux sulla shell.
In tmux orientativamente si parla di tre componenti principali: le session, le window ed i pane.
Gestione delle Session e window
Iniziamo col creare una nuova session, ed assegnare ad essa un nome in modo da poter recuperarla in un secondo momento). Dobbiamo assegnare un nome anche alla window che genereremo.
Per farlo, aggiungiamo degli opportuni parametri al comando tmux:
– tmux new -s “nome_session” -n “nome_window”
Ora che abbiamo capito come creare le window cerchiamo di capire come spostare il focus da una window all’altra, per farlo è sufficiente usare una combinazione di tasti che utilizza il prefisso CTRL+b, seguita da tasto relativo al comando che vogliamo usare.
Di seguito una tabella con i comandi principali per la gestione delle window:
CTRL+b ? | Visualizza la lista dei comandi |
CTRL+b C | Crea una nuova window |
CTRL+b N | Sposta il focus alla window successiva |
CTRL+b P | Sposta il focus alla window precedente |
CTRL+b 1 | Sposta il focus alla window 1 (da 0 a 9) |
CTRL+b W | Mostra la lista delle finestre |
CTRL+b B | Rinomina le finestre |
Gestione dei pane
Come detto precedentemente, la caratteristica principale è la capacità di monitorare diversi output in contemporanea, questo aspetto viene gestito dai pane, in cui il display può essere ripartito, ogni pane può ospitare una window, quindi, un terminale.
Di seguito una tabella con i comandi principali per la gestione dei pane:
CTRL+b “ | Divide il pane orizzontalmente |
CTRL+b % | Divide il pane verticalmente |
CTRL+b X | Cancella il pane |
CTRL+b [freccia direzionale] | Sposta il cursore sul panel indicato dalla freccia direzionale che abbiamo premuto |
CTRL+b CTRL+[freccia SU] | Aumenta il carattere del pane corrente di 1pt |
CTRL+b CTRL+[freccia GIÙ] | Diminuisce il carattere del pane corrente di 1pt |
Altre informazioni su tmux
Tmux offre inoltre molte possibilità di personalizzazione. È possibile definire nei file di configurazione, diverse opzioni relative alle combinazioni di tasti o modificare alcune opzioni della status bar.
Per maggiori dettagli rimando al manuale di tmux, accessibile con il comando seguente:
– man tmux
ed al sito ufficiale.