tmux: come funziona il multiplexer terminale

Con il multiplexer terminale tmux è possibile applicare il multitasking alle righe di comando della distribuzione Linux da voi selezionata. Grazie a tmux siete in grado di avviare, elaborare, suddividere e riunire più sessioni su un terminale allo stesso tempo.

Il sistema operativo Linux è accanto a Windows e macOS tra le distribuzioni più popolari. Si tratta di un sistema operativo open source e pertanto gratuito. Il comando e la gestione di una delle tante distribuzioni Linux, come Ubuntu, Debian o Linux Mint, sono spesso effettuati tramite la riga di comando o il terminale e i comandi Linux. Per utilizzare, gestire e configurare le sessioni di console in parallelo in un terminale, si usano i cosiddetti terminali multiplexer, come GNU Screen o tmux.

Web hosting con consulente personale!

Web hosting veloce e scalabile + consulente personale con IONOS!

Dominio gratis
SSL
Assistenza 24/7

Che cos’è tmux?

Il multiplexer terminale open source tmux è stato sviluppato da Nicholas Marriott e rilasciato per la prima volta nel 2007. Nelle sue funzioni, tmux è simile a GNU Screen, in quanto entrambi consentono di lavorare con più finestre di console in una sessione di terminale e di dividerle o separarle in riquadri separati durante la scrittura di uno script di shell. In questo modo si può persino collaborare con altri in parallelo e, idealmente, tramite Secure Shell (SSH) in sessioni da remoto.

Mediante tmux è possibile inserire comandi da riga di comando per gestire e modificare la propria distribuzione Linux. Tra questi troviamo, ad esempio, i comandi per l’assegnazione dei permessi di directory con chmod o il comando “shutdown -h” per il semplice shutdown di Linux. Sebbene sia possibile utilizzare tmux in Ubuntu, Debian o altre distribuzioni Linux facilmente, esso può essere utilizzato in Windows solo tramite WSL o WSL2 (Windows Subsystem for Windows 2). Grazie a WSL2 si possono utilizzare le applicazioni Linux e gli strumenti Linux anche in Windows.

Consiglio

Siete alla ricerca del giusto partner di hosting per i vostri progetti Linux? Con l’Hosting Linux di IONOS potete approfittare di tariffe flessibili, performance scalabili, SSL, protezione DDoS e HTTP/2.

Come funziona tmux?

Dopo aver effettuato l’installazione per mezzo dei pacchetti sorgenti ufficiali Linux, tmux può essere avviato direttamente dal terminale utilizzando il comando “tmux”. Il multiplexer viene gestito tramite un comune terminale. Per utilizzare tmux sono necessari i seguenti prerequisiti:

  • Distribuzione Linux o sistema basato su Linux
  • Profilo utente con permessi di root
  • Accesso al terminale e ai comandi della riga di comando/tasti di scelta rapida

Gli aspetti più importanti del lavoro con tmux sono le sessioni di terminale, le finestre e i pannelli:

  • Sessioni del terminale: consentono di eseguire compiti e comandi e di utilizzare la distribuzione Linux.
  • Finestre: se dovete eseguire compiti specifici separatamente in un’unica sessione, tmux offre la possibilità di lavorare in parallelo con diverse finestre.
  • Panes: queste finestre possono essere ulteriormente suddivise in più aree (“panes”), ad esempio per eseguire log di errori, mentre portate a termine altri compiti nella stessa finestra.

Le operazioni di tmux si basano sui comandi della riga di comando e sulle scorciatoie da tastiera. Di seguito presentiamo quelli più importanti.

Comandi tmux

Installare tmux con Linux tramite il gestore di pacchetti ufficiale di Linux:

apt-get install tmux

Installare tmux con Ubuntu e Debian:

sudo apt-get install tmux

Avviare tmux

tmux

Avviare e rinominare una nuova sessione tmux

tmux new -s [nome di sessione]

Terminare una sessione tmux

exit

Ripristinare la connessione all’ultima sessione tmux

tmux a -t [nome di sessione]

o

tmux a #

Visualizzare tutte le sessioni tmux (visualizzare i nomi di sessione e il numero delle finestre aperte)

tmux 1s

Adattare i panes con [Ctrl] + [B] + [:] e resize-pane

Suddividendo una finestra in panes, avete la possibilità di configurare questi ultimi a vostro piacimento. A tal fine dovete ricorrere alla combinazione di tasti [Ctrl] + [B] + [:]. Ora potete adattare i panes con i seguenti comandi:

  • resize-pane -D: sposta in basso la linea divisoria tra i panes (“downwards”)
  • resize-pane -U: sposta in alto la linea divisoria tra i panes (“upwards”)
  • resize-pane -R: sposta a destra la linea divisoria tra i panes
  • resize-pane -L: sposta a sinistra la linea divisoria tra i panes

Potete anche spostare la linea divisoria di un numero predefinito di righe, come mostrato di seguito; tuttavia, ciò si ripercuote su tutti i panes contenuti all’interno della finestra:

  • resize-pane -U 10: sposta la linea divisoria 10 righe più in alto
  • resize-pane -t 2 -R 5: sposta la linea divisoria 5 righe a destra

Aumentare e ridurre il pane (previa scorciatoia [Ctrl] + [B] + [:])

resize-pane -Z

Distaccare (“detach”) la sessione esistente (se presente, con il nome di sessione)

tmux detach

Connettere (“attach”) alla sessione esistente (se presente, con il nome di sessione)

tmux attach

Combinazione di tasti tmux

A prescindere dal comando e dall’esecuzione tramite comandi da riga di comando e script, tmux viene operato attraverso combinazioni di tasti. Per avviare l’utilizzo mediante scorciatoia, immettete la combinazione di tasti [Ctrl] + [B]. A partire da ora, tutti gli inserimenti provocheranno l’azione desiderata. Tra i tasti di scelta rapida più importanti ricordiamo:

Comandi per le sessioni:

  • S: visualizza tutte le sessioni e passa da una sessione all’altra
  • $: rinomina la sessione attuale
  • D: distacca la sessione esistente (“detach”) e la sposta in background
  • ?: visualizza le combinazioni di tasti attualmente attive (apre l’area di supporto)

Comandi per le finestre:

  • C: crea/apre una nuova finestra
  • W: elenca tutte le finestre esistenti, passa da una finestra all’altra
  • L: passa all’ultima finestra utilizzata
  • P: passa alla finestra cronologicamente precedente
  • N: passa alla finestra cronologicamente successiva
  • ,: rinomina la finestra attuale
  • &: termina la finestra attuale (confermare con “y”)
  • 1, 2, 3, (…): passa alla finestra numero X
  • [: attiva la modalità scrolling (scorrere nella finestra attuale utilizzando i tasti freccia)

Comandi per i panes:

  • X: chiude il pane attuale
  • %: divide verticalmente il pane attuale (crea un secondo pane nella finestra)
  • ": divide orizzontalmente il pane attuale (crea un secondo pane nella finestra)
  • Tasti freccia (sinistra, destra, in alto, in basso): per navigare tra i panes
  • H: passa al pane a sinistra
  • I: passa al pane a destra
  • J: passa al pane in basso
  • K: passa al pane in alto
  • Q: mostra il numero di panes
  • O: naviga cronologicamente attraverso tutti i panes
  • }: sostituisce il pane attuale con quello successivo
  • {: sostituisce il pane attuale con quello precedente
  • Barra spaziatrice: passa da una suddivisione dei pane a un’altra
  • !: svincola i panes attuali e li apre in una nuova finestra

Come installare e applicare tmux

Seguite i passaggi successivi per installare e utilizzare tmux:

Primo passaggio: installate il multiplexer terminale dai pacchetti sorgente di Linux servendovi del comando per l’installazione di pacchetti, apt-get install tmux

Su Debian e Ubuntu dovete aggiungere “sudo”, sudo apt-get install tmux

Secondo passaggio: avviate tmux immettendo “tmux” nel terminale. Dopo averlo avviato, vedrete una visualizzazione di stato costituita da nome host (nomeutente@host-server), orario e data. In basso a sinistra vedrete il nome della sessione (se presente) e il numero delle finestre nel formato seguente “[0] 0:bash*”. La prima finestra porta la denominazione “0”. Qualora ci fosse un processo in esecuzione all’interno di una finestra, sarà mostrato dopo lo 0 (ad esempio “0:bash*”).

Terzo passaggio: usate tmux tramite comandi e scorciatoie da tastiera. Ciascuno dei comandi e dei tasti di scelta rapida va introdotto con [Ctrl] + [B], nel caso di configurazione di un pane con [Ctrl] + [B] + [:], per ottenere l’attenzione di tmux.

Quarto passaggio: avviate una nuova sessione che avete rinominato servendovi del comando “tmux new -s”. Dopo “-s” inserite il nome della sessione desiderato. Se desiderate avviare una sessione senza nome digitate solamente “tmux”.

Quinto passaggio: per terminare una sessione, inserite il comando “exit” o la combinazione di tasti [Ctrl] + [D].

Sesto passaggio: per aprire una nuova finestra nella sessione premete [C]. Per avviare parallelamente alla prima un’altra nuova sessione, utilizzate il comando “tmux new -s [nome di sessione].”. La visualizzazione di stato in basso mostra in quale sessione vi trovate.

Settimo passaggio: per suddividere una finestra in panes, ovvero in riquadri, premete [%] per una finestra divisa verticalmente e ["] per una divisa orizzontalmente. Con le frecce potete navigare tra i panes.

Ottavo passaggio: se desiderate interrompere una sessione attiva, ma continuare l’esecuzione di processi dovete ricorrere al comando “tmux detach”. La sessione e i processi in esecuzione continueranno in background. Per riprendere la sessione ripristinate la connessione con il comando “tmux attach”.

A cosa serve tmux?

Come il multiplexer terminale GNU Screen, anche tmux offre la possibilità di lavorare sul terminale di una distribuzione Linux contemporaneamente con più sessioni e finestre, ma anche di suddividere e configurare finestre in più aree per il multitasking. In questo modo potete eseguire processi e programmi paralleli e diversi comandi. Inoltre, sono possibili sessioni remote e la collaborazione con più utenti. Potete abbandonare processi e sessioni, spostare in background e riprendere da dove avete interrotto.

Consiglio

Necessitate di una virtualizzazione completa e una performance vps ottimale? Allora i VPS di IONOS fanno al caso vostro, grazie a una memoria SSD-SAN al 100%, ideale per progetti impegnativi, risorse scalabili e dedicate e, non da ultimo, un web hosting opzionale con Plesk.

In cosa si differenzia tmux rispetto a GNU Screen?

A prima vista GNU Screen e tmux lavorano in modo analogo e offrono le stesse importanti funzioni, o quasi. Ad esempio, su GNU Screen comandi e scorciatoie vengono introdotte mediante [Ctrl] + [A] invece che con [Ctrl] + [B]. Una grossa differenza sta però nel fatto che GNU Screen non mostra automaticamente un’indicazione di stato con il nome della sessione attuale nella parte bassa della finestra. Se desiderate utilizzare un’indicazione di stato in GNU Screen dovete configurarlo manualmente.

In tmux è inoltre possibile denominare e rinominare comodamente sessioni e finestre, il che consente di ottenere una chiara visione d’insieme durante la navigazione tra finestre e sessioni. In più, al contrario di GNU Screen, in tmux non c’è il rischio di perdere completamente una finestra quando viene spostata in background. Le finestre possono infatti essere riprese direttamente usando la riga di comando o aprendo il riepilogo delle finestre attualmente in uso.

Consiglio

I server cloud di IONOS offrono macchine virtuali con capacità di calcolo scalabili. In questo modo potete contare su un’infrastruttura virtuale potente in grado di supportare il vostro progetto con risorse dedicate al 100%, accesso root, cloud panel e data center sicuri.

Conclusione: vale la pena di utilizzare tmux?

Per molti aspetti, come la possibilità di rinominare finestre e sessioni o la presenza di indicazioni di stato e sessione nella parte bassa delle finestre, tmux appare più chiaro e più facile da usare in confronto a GNU Screen. Dà quindi prova di essere un multiplexer terminale valido ed efficace, adatto in particolare a chi lavora su terminali con più processi e programmi contemporaneamente. Se cercate una soluzione multitasking semplice ed efficace, oltre che completamente gratuita, tmux può sicuramente fare al caso vostro.

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.