GNU/Linux >> Linux Esercitazione >  >> Linux

Esempi di comandi Tmux per gestire più sessioni di terminale in Linux

Abbiamo già imparato a usare GNU Screen per gestire più sessioni Terminale. Oggi vedremo ancora un'altra nota utility da riga di comando denominata "Tmux" , utilizzato anche per gestire più sessioni di Terminale. Questa guida spiega cos'è Tmux e l'utilizzo dei comandi Tmux con esempi in Linux.

1. Cos'è Tmux?

Simile a GNU Screen, Tmux è anche un multiplexer di Terminale che ci consente di creare un numero di sessioni di terminale ed eseguire più di un programma o processo contemporaneamente all'interno di una singola finestra di Terminale.

Tmux è un programma gratuito, open source e multipiattaforma che supporta Linux, OpenBSD, FreeBSD, NetBSD e Mac OS X.

2. Installa Tmux in Linux

Tmux è disponibile nei repository ufficiali della maggior parte delle distribuzioni Linux.

Per installare Tmux in Alpine Linux, esegui:

$ sudo apk add tmux

Su Arch Linux e le sue varianti come EndeavourOS e Manjaro Linux, esegui il comando seguente per installarlo.

$ sudo pacman -S tmux

Su Debian, Ubuntu, Linux Mint, Pop_OS!:

$ sudo apt-get install tmux

Su Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:

$ sudo dnf install tmux

Oppure,

$ sudo yum install tmux

Su SUSE/openSUSE:

$ sudo zypper install tmux

Bene, abbiamo appena installato Tmux. Andiamo avanti e vediamo alcuni esempi su come usare Tmux.

3. Tmux comanda l'utilizzo con esempi

La scorciatoia predefinita del prefisso per tutti i comandi in Tmux è Ctrl+b . Ricorda solo questa scorciatoia da tastiera quando usi Tmux.

Avviso: Il prefisso predefinito per tutti gli schermi comandi è Ctrl+a .

3.1. Creazione di sessioni Tmux

Per creare una nuova sessione Tmux e collegarla ad essa, esegui il seguente comando dal Terminale:

$ tmux

Oppure,

$ tmux new

Una volta che sei all'interno della sessione di Tmux, vedrai una barra verde in basso come mostrato nello screenshot qui sotto.

È molto utile verificare se ci si trova all'interno di una sessione Tmux o meno.

3.2. Distacco dalle sessioni di Tmux

Per staccare da una sessione Tmux corrente, premi semplicemente Ctrl+b e d . Non è necessario premere entrambe le scorciatoie da tastiera alla volta. Per prima cosa premi "Ctrl+b" e quindi premere "d" .

Una volta disconnesso da una sessione, vedrai un output simile a quello di seguito.

[detached (from session 0)]

3.3. Creazione di sessioni con nome

Se utilizzi più sessioni, potresti confonderti su quali programmi sono in esecuzione su quali sessioni. In questi casi, puoi semplicemente creare sessioni con nome.

Ad esempio se si desidera eseguire alcune attività relative al web server in una sessione, è sufficiente creare la sessione Tmux con un nome personalizzato, ad esempio "webserver" (o qualsiasi nome a tua scelta).

$ tmux new -s webserver

Ecco la nuova sessione denominata Tmux.

Come puoi vedere nello screenshot qui sopra, il nome della sessione di Tmux è server web . In questo modo puoi facilmente identificare quale programma è in esecuzione su quale sessione.

Per staccare, premi semplicemente Ctrl+b e d .

3.4. Elenca le sessioni di Tmux

Per visualizzare l'elenco delle sessioni Tmux aperte, eseguire:

$ tmux ls

Risultato di esempio:

Come puoi vedere, ho due sessioni Tmux aperte.

3.5. Creazione di sessioni separate

A volte, potresti voler semplicemente creare una sessione e non volerti allegare ad essa automaticamente.

Per creare una nuova sessione separata denominata "otechnix" , esegui:

$ tmux new -s ostechnix -d

Il comando precedente creerà una nuova sessione Tmux chiamata "otechnix", ma non si collegherà ad essa.

Puoi verificare se la sessione è stata creata usando tmux ls comando:

3.6. Allegando alle sessioni di Tmux

Puoi collegarti all'ultima sessione creata eseguendo questo comando:

$ tmux attach

Oppure,

$ tmux a

Se vuoi collegarti a una sessione denominata specifica, ad esempio "otechnix", esegui:

$ tmux attach -t ostechnix

Oppure, in breve:

$ tmux a -t ostechnix

3.7. Uccidi le sessioni di Tmux

Quando hai finito e non hai più bisogno di una sessione Tmux, puoi terminarla in qualsiasi momento con il comando:

$ tmux kill-session -t ostechnix

Per uccidere quando è collegato, premi Ctrl+b e x . Premi "y" per terminare la sessione.

Puoi verificare se la sessione è chiusa con tmux ls comando.

Per uccidere il server Tmux insieme a tutte le sessioni Tmux, eseguire:

$ tmux kill-server

Stai attento! Questo terminerà tutte le sessioni di Tmux anche se ci sono lavori in esecuzione all'interno delle sessioni senza alcun avviso.

Quando non c'erano sessioni Tmux in esecuzione, vedrai il seguente output:

$ tmux ls
no server running on /tmp/tmux-1000/default

3.8. Dividi le finestre della sessione Tmux

Tmux ha un'opzione per dividere una singola finestra di sessione Tmux in più finestre più piccole denominate riquadri Tmux .

In questo modo possiamo eseguire diversi programmi su ogni riquadro e interagire con tutti contemporaneamente.

Ciascun riquadro può essere ridimensionato, spostato e chiuso senza influire sugli altri riquadri. Possiamo dividere una finestra di Tmux orizzontalmente o verticalmente o entrambi contemporaneamente.

3.8.1. Dividi i riquadri orizzontalmente

Per dividere un riquadro orizzontalmente, premi Ctrl+b e " (virgolette singole).

Usa la stessa combinazione di tasti per dividere ulteriormente i riquadri.

3.8.2. Dividi i riquadri verticalmente

Per dividere un riquadro verticalmente, premi Ctrl+b e % .

3.8.3. Dividi i riquadri orizzontalmente e verticalmente

Possiamo anche dividere un riquadro orizzontalmente e verticalmente allo stesso tempo. Dai un'occhiata allo screenshot seguente.

Innanzitutto, ho eseguito una divisione orizzontale premendo Ctrl+b " e poi dividi verticalmente il riquadro inferiore premendo Ctrl+b % .

Come puoi vedere nello screenshot sopra, sto eseguendo tre diversi programmi su ogni riquadro.

3.8.4. Passa da un riquadro all'altro

Per passare da un riquadro all'altro, premi Ctrl+b e Tasti freccia (sinistra, destra, su, giù) .

3.8.5. Invia comandi a tutti i riquadri

Nell'esempio precedente, eseguiamo tre diversi comandi su ciascun riquadro. Tuttavia, è anche possibile eseguire l'invio degli stessi comandi a tutti i riquadri contemporaneamente.

Per farlo, premi Ctrl+b e digita il seguente comando e premi ENTER :

:setw synchronize-panes

Ora digita qualsiasi comando su qualsiasi riquadro. Vedrai che lo stesso comando si riflette su tutti i riquadri.

3.8.6. Scambia i riquadri

Per scambiare i riquadri, premi Ctrl+b e o .

3.8.7. Mostra i numeri dei riquadri

Premi Ctrl+b e q per mostrare i numeri dei riquadri.

3.8.8. Elimina i riquadri

Per chiudere un riquadro, digita semplicemente exit e ENTER chiave. In alternativa, premi Ctrl+b e x . Vedrai un messaggio di conferma. Basta premere "y" per chiudere il riquadro.

4. Ingrandisci e rimpicciolisci i riquadri Tmux

Possiamo ingrandire i riquadri di Tmux per adattarli alle dimensioni complete della finestra del Terminale corrente per una migliore visibilità del testo e per visualizzare più contenuti.

È utile quando hai bisogno di più spazio o ti concentri su un'attività specifica. Dopo aver terminato quell'attività, puoi rimpicciolire (rimuovere lo zoom) il riquadro Tmux nella sua posizione normale. Maggiori dettagli nel seguente link.

  • Come ingrandire i riquadri Tmux per una migliore visibilità del testo

5. Avvio automatico delle sessioni Tmux

È sempre buona norma eseguire un processo di lunga durata all'interno di una sessione Tmux quando si lavora con sistemi remoti tramite SSH.

Perché ti impedisce di perdere il controllo del processo in esecuzione quando la connessione di rete si interrompe improvvisamente.

Un modo per evitare questo problema è avviare automaticamente le sessioni di Tmux. Per maggiori dettagli, fare riferimento al seguente link.

  • Avvia automaticamente la sessione Tmux sul sistema remoto quando si accede tramite SSH

Conclusione

In questa guida, abbiamo discusso l'utilizzo dei comandi Tmux con esempi. A questo punto, avrai un'idea di base dell'utilità della riga di comando di Tmux e di come utilizzare Tmux per gestire più sessioni di Terminale. Per maggiori dettagli, fare riferimento alle pagine man.

$ man tmux

Sia le utility GNU Screen che Tmux possono essere molto utili quando si gestiscono i server in remoto tramite SSH. Impara a fondo i comandi Screen e Tmux per gestire i tuoi server remoti come un professionista.


Linux
  1. Invia comandi a più sessioni SSH con Terminator

  2. Comandi Linux - Panoramica ed esempi

  3. Condivisione di sessioni del terminale Linux con Tmux e Screen

  4. Utilizzo di Irssi all'interno di una sessione tmux di Linux

  5. Usa il comando dello schermo per gestire le sessioni del terminale in Ubuntu 20.04

Esempi di comandi dello schermo per gestire più sessioni di terminale

Come utilizzare il comando dello schermo per gestire le sessioni del terminale in Ubuntu 20.04

Come installare e utilizzare Tmux (terminal multiplexer) in Linux

Come eseguire più comandi Linux contemporaneamente nel terminale Linux

10 esempi PuTTY PLINK per automatizzare i comandi Linux remoti dai file batch di Windows

ClusterSSH(cssh) – Gestisci più sessioni SSH su Linux