Guida rapida come usare Tmux su Linux

21 gen 2021 6 min di lettura
Guida rapida come usare Tmux su Linux
Indice dei contenuti

Introduzione

La riga di comando è lo strumento più produttivo e versatile per uno sviluppatore di software del terminale.

Tmux, cosiddetto multiplexer terminale, da gestore di finestre all'interno del tuo terminale. Ti consente di creare più finestre e riquadri all'interno di una singola finestra di terminale.

Questo articolo ti fornirà un introduzione su tmux e le sue possibilità, seguita da una guida pratica di 10 minuti per configurare e conoscere tmux da solo.

Cos'è Tmux?

Gli autori di tmux lo descrivono come un multiplexer terminale. Dietro questo termine stravagante si nasconde un concetto semplice: all'interno di una finestra di terminale è possibile aprire più finestre e viste divise (chiamate "panes" in gergo tmux). Ogni riquadro conterrà la propria istanza di terminale in esecuzione in modo indipendente. Ciò consente di avere più comandi di terminale e applicazioni in esecuzione visivamente uno accanto all'altro senza la necessità di aprire più finestre di emulatore di terminale.

Inoltre tmux mantiene queste finestre e questi pannelli in una sessione. Puoi uscire da una sessione in qualsiasi momento. Questo si chiama "detaching". tmux manterrà attiva questa sessione fino a quando non ucciderai il server tmux (ad esempio quando riavvii). Questo è molto utile perché in qualsiasi momento successivo puoi riprendere quella sessione esattamente da dove l'avevi lasciata semplicemente "attaching" a quella sessione.

Se hai mai lavorato con server remoti o un Raspberry Pi su ssh, puoi capire facilmente dove sarà utile: quando perdi la connessione ssh la sessione tmux verrà semplicemente scollegata ma continuerà a funzionare sul server in background inclusi tutti i processi che vengono eseguiti all'interno della sessione. Per continuare la tua sessione semplicemente ssh al server e collegalo alla sessione in esecuzione.

Ma tmux non è utile solo quando si lavora su una macchina remota. Non solo per le sue funzionalità di gestione delle finestre, ma anche per la gestione delle sessioni. Personalmente mi ritrovo a staccarmi dalle sessioni quando cambio contesto. Inizierò semplicemente una nuova sessione per la mia nuova attività e mi collegherò alla vecchia sessione ogni volta che voglio continuare con la mia vecchia attività.

Vedete che tmux offre fondamentalmente due grandi caratteristiche: la gestione delle finestre nel vostro terminale e la gestione delle sessioni. Se hai familiarità con GNU Screen, questa non è una novità. Pensa a tmux come un'alternativa più facile da usare e un po' più potente di Screen.

Come usare Tmux

Questa guida pratica ti consentirà di utilizzare tmux abbastanza rapidamente. Coprirà solo le funzionalità di base che dovrebbero essere più che sufficienti per iniziare ed essere produttivi con tmux. Apri il tuo terminale e segui le istruzioni.

Installare Tmux

Fortunatamente l'installazione di tmux è abbastanza semplice sulla maggior parte delle distribuzioni.

sudo apt-get install tmux

Per installare Tmux sul Mac:

brew install tmux

Avviare la prima sessione

Per la tua prima sessione avvia semplicemente tmux con una nuova sessione, digitando tmux nel terminale:

tmux

Questo creerà una nuova sessione tmux con una bella barra di stato completamente verde in basso.

La barra di stato è una parte importante di tmux. Oltre alle finestre attualmente aperte (a sinistra) mostra anche alcune informazioni di sistema come data e ora (a destra). La barra di stato può anche essere personalizzata e ho visto alcune cose davvero fantasiose in giro (eventi del calendario imminenti, stato della batteria, solo per citarne alcuni) ma questo è qualcosa che lasceremo per dopo.

Dividere i pannelli (Splitting)

Ora che abbiamo creato la nostra prima sessione possiamo avere capire come usare i riquadri. Quando crei una nuova sessione, tmux inizierà per impostazione predefinita con una finestra e un singolo pannello all'interno.

Tutti i comandi in tmux sono attivati ​​da un tasto prefisso (prefix key) seguito da un tasto comando (command key) (abbastanza simile a emacs). Per impostazione predefinita, tmux utilizza C-b come chiave prefisso. Questa notazione potrebbe sembrare un po' strana se non ci sei abituato. In questa notazione di emacs C- significa "premere e tenere premuto il tasto Ctrl". Quindi C-b significa semplicemente premere i tasti Ctrl e b contemporaneamente.

La scorciatoia da tastiera per dividere i riquadri in un riquadro sinistro e uno destro è C-b %. Questo significa dividere il tuo singolo riquadro in un riquadro sinistro e uno destro, premi Ctrl e b allo stesso tempo, rilascia entrambi, quindi digita il tasto %. Ecco! Hai appena richiamato il tuo primo comando tmux e hai diviso il pannello in due.

Dove c'è una divisione in sinistra e destra, c'è anche una divisione in riquadro superiore e inferiore. Per dividere un riquadro in riquadri superiore e inferiore, utilizzare il comando C-b ".

Riquadri di navigazione (Navigating Panes)

In questo momento ci troviamo nel riquadro appena creato. Vogliamo tornare a quello di sinistra. Per passare a un riquadro diverso utilizza la scorciatoia C-b <arrow key>, dove <arrow key> è il tasto freccia che punta al riquadro a cui si desidera passare. Nel nostro caso vogliamo passare al pannello a sinistra quindi è C-b left per noi. Ancora una volta, in modo da comprendere appieno questo contetto, C-b left significa premi Ctrl e b (il tuo prefisso) seguito dal tasto left (quindi la freccia sinistra sulla tastiera) per arrivare al riquadro a sinistra.

Ora puoi andare avanti e dividere ulteriormente ciascuno dei tuoi nuovi pannelli. Sentiti libero di sperimentare e di dividere i tuoi pannelli come preferisci.

Riquadri di chiusura (Closing Panes)

Chiudere un riquadro è semplice come chiudere una normale sessione di terminale. Digita exit oppure premi Ctrl-d.

Creare le finestre

Le finestre in tmux possono essere paragonate alla creazione di nuovi desktop virtuali.

Creare nuove finestre è facile come digitare C-b c (quindi Ctrl e b insieme, poi  c). La nuova finestra ti verrà quindi presentata nella barra di stato di tmux.

Ora puoi dividere il riquadro nella tua nuova finestra come preferisci.

Per passare alla finestra precedente (secondo l'ordine nella barra di stato) usa C-b p, per passare alla finestra successiva usa C-b n. Se hai creato molte finestre potresti trovare utile andare direttamente a una finestra digitandone il numero (la barra di stato ti dirà quale il numero associato ad ogni finestra), usa semplicemente C-b <number> dove <number> è il numero davanti al nome nella barra di stato.

Gestire la sessione (Session Handling)

Se hai finito con la tua sessione, puoi sbarazzartene semplicemente uscendo da tutti i pannelli all'interno oppure puoi mantenere la sessione in background per un successivo riutilizzo.

Per scollegare la tua sessione corrente usa C-b d. Puoi anche usare C-b D per fare in modo che tmux ti dia la possibilità di scegliere quale delle tue sessioni vuoi staccare. Questo staccherà la tua sessione ma lascerà quello che stai facendo in quella sessione, in esecuzione in background.

Ora che la tua sessione è chiusa, puoi riprenderla da dove l'avevi lasciata in un secondo momento. Per ricollegarsi a una sessione è necessario capire a quale sessione è ancora attiva. Scopri quali sessioni sono in esecuzione utilizzando questo comando:

tmux ls

Questo ti darà un elenco di tutte le sessioni in esecuzione.

Per connetterti a quella sessione, chiudi tmux e riaprilo, ma questa volta digita quale sessione collegarti:

tmux attach -t 0

Notare che -t 0 è il parametro che dice a tmux a quale sessione collegarsi. "0" è la prima parte dell'output tmux ls.

Se preferisci dare alle tue sessioni un nome più significativo (invece di uno numerico che inizia con 0) puoi creare la tua prossima sessione usando questo comando:

tmux new -s database

Questo creerà una nuova sessione con il nome "database".

Puoi anche rinominare la tua sessione esistente con il seguente comando:

tmux rename-session -t 0 database

La prossima volta che ti colleghi a quella sessione, puoi usare semplicemente il comando tmux attach -t database. Se utilizzi più sessioni contemporaneamente, questa può diventare una funzionalità essenziale.

Congratulazioni, hai appena completato il tuo primo tutorial di tmux riguardo la gestione della sessione. Quello che hai appena imparato dovrebbe essere tutto per iniziare a usare tmux in futuro.

Perché usare tmux?

Tmux dispone di una serie di funzionalità rispetto ad altri strumenti, come iTerm o Terminator, che mi portano a preferirlo:

  • Gestione delle sessioni: il distacco e il collegamento alle sessioni mi aiuta con il cambio di contesto e il lavoro remoto
  • Indipendenza dalla piattaforma: posso usare tmux sul Macbook, notebook Linux, server cloud, Raspberry Pis, BeagleBones, ecc.
  • Personalizzabile: ci sono molti modi in cui posso personalizzare l'aspetto e il comportamento dell'ambiente tmux. Si può inoltre sincronizzare su piattaforme diverse usando un semplice dotfile

Conclusione

Se sei curioso di sapere cos'altro può fare tmux, è abbastanza semplice da scoprire. Basta digitare C-b ? per visualizzare un elenco di tutti i comandi disponibili e iniziare a sperimentare.

Alcuni dei comandi che utilizzo abbastanza spesso sono:

  • C-b z: crea un riquadro a schermo intero. Premi di nuovo  C-b z per ridurlo alla sua dimensione precedente
  • C-b C-<arrow key>: Ridimensiona il riquadro in direzione del tasto freccia
  • C-b ,: Rinomina la finestra corrente
Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.