Come usare tmux su Linux per il multitasking del terminale

0
265

tmux, abbreviazione di terminal multiplexer, è un'utilità da riga di comando che fa funzionare dal terminale molto più facile. Ti consente di dividere la finestra del terminale in molti riquadri, che rimarranno su più sessioni SSH.

Installazione e utilizzo di tmux

tmux può essere installato dal gestore pacchetti per la maggior parte delle distribuzioni. Per i sistemi basati su Debian come Ubuntu, sarebbe:

apt-get install tmux

È disponibile anche su brew, un gestore di pacchetti di terze parti per macOS, con brew install tmux.

Una volta installato, puoi iniziare inserendo il comando tmux. Tuttavia, questo avvia una sessione con un nome casuale, quindi puoi creare una nuova sessione denominata con tmux new:

tmux new -s [nome]

Questo occuperà la finestra del terminale e vedrai una nuova barra dei comandi in basso. Ora stai eseguendo all'interno di tmux, in una sessione appena creata. Questa sessione si comporta come se avessi aperto una nuova finestra di terminale o una nuova sessione SSH e l'avessi lasciata in esecuzione sul desktop, tranne per il fatto che è in esecuzione senza una finestra e dietro le quinte. tmux ti consente di connetterti ad esso. In sostanza, tmux è un ambiente desktop per il mondo dei terminali.

Pubblicità

Se chiudi la finestra del terminale effettiva, questa sessione di tmux persisterà fino a quando non la terminerai manualmente (o riavvierai il sistema). Funziona allo stesso modo quando ci si connette a un server remoto; tutto ciò che esegui verrà mantenuto fino alla fine della sessione.

Per terminare la sessione, puoi eseguire il comando di uscita o premere Ctrl+A, Ctrl+D. Vedrai “uscito” nel tuo terminale principale quando tmux esce.

Più spesso, però, vorrai semplicemente disconnetterti dalla sessione e lasciarla in esecuzione sul server. Per fare ciò, premi la scorciatoia per il prefisso tmux, che per impostazione predefinita è Ctrl+B, quindi premi il tasto “D” chiave. Vedrai “Distaccato dalla sessione” nel tuo terminale principale quando tmux esce.

Per riconnetterti a una sessione, usa:

tmux a -t [nome]

Il “un” comando è l'abbreviazione di attach-session, che salva alcune sequenze di tasti. Inoltre, puoi utilizzare la scorciatoia # per connetterti all'ultima sessione creata:

tmux a #

Per visualizzare tutte le sessioni, puoi eseguire:

tmux ls

Che visualizzerà il nome della sessione e il numero attuale di finestre. Assicurati di non essere già connesso a una sessione tmux quando provi a connetterti a un'altra sessione, poiché la ricorsione è bloccata per impostazione predefinita (ed è comunque un problema).

Multitasking con riquadri

I riquadri fanno un uso massiccio della scorciatoia per il prefisso tmux, quindi è meglio ricordarlo:

Control+B Pubblicità

Ogni comando sarà preceduto da questo in modo che tmux lo intercetti.

Per creare un nuovo riquadro, utilizza una delle due scorciatoie:

  •  Control+B % per dividere verticalmente
  • Control+B ” per dividere orizzontalmente

Questi divideranno il riquadro corrente come preferisci.

Per passare da un riquadro all'altro, dovrai inserire Ctrl+B seguito da un tasto freccia. Puoi anche installare il supporto per il mouse con Oh My Tmux!, che ti permetterà di fare clic tra di loro.

Se non sei soddisfatto delle dimensioni dei riquadri, puoi ridimensionarli con questi due comandi :

Control+B : ridimensiona-riquadro -R 4

Ctrl+B seguito da due punti apre il prompt dei comandi di tmux, che accetta comandi più dettagliati. Il comando che usiamo qui è resize-pane, che prende una direzione (U per su, L per sinistra, ecc.) e il numero di righe da espandere. In questo caso, questo comando espande il riquadro attualmente selezionato di quattro righe a destra.

Tmux Windows

Se non lo fai&#8217 Se non ti piace l'aspetto di avere il terminale diviso (o vuoi semplicemente eseguire il multitasking con le app a schermo intero), puoi utilizzare tmux windows. Puoi utilizzare i seguenti comandi per lavorare con le finestre:

  • Control+B c per creare una nuova finestra
  • Control+B p per passare alla finestra precedente
  • Ctrl+B n per passare alla finestra successiva
  • Ctrl+B 0-9 per passare a una finestra in base al numero di indice.

Annuncio

Inoltre, premendo Control+B farà apparire un'esposizione interattiva, che ti consentirà di visualizzare quali finestre hai aperto, quali comandi stanno eseguendo e quanti riquadri hanno:

Puoi terminare una finestra in qualsiasi momento utilizzando il comando exit, che interromperà tutti i processi in esecuzione. Nota che questo fermerà anche tmux del tutto se lo esegui con una sola finestra aperta.

Se la finestra non risponde, puoi forzarla a chiuderla con Control+B &, che interromperà sempre i processi in esecuzione in quella finestra.

Espandere tmux

tmux è molto popolare e ci sono molti plugin, temi e supporto della comunità dietro di esso. Eccone alcuni utili:

  • Oh My Tmux! – Tema Powerline, supporto per il mouse e molte funzioni utili
  • tmux-resurrect – Salva il tuo layout (e altro) durante i riavvii
  • tmux-pain-control – Aggiunge qualche altra combinazione di tasti per la gestione dei riquadri
  • tmux-better-mouse-mode – Migliore supporto del mouse per alcune app CLI
  • tmuxifier – Gestore di finestre per tmux che salva nei file di configurazione
  • E un sacco di temi.

C'è molto di più in tmux di quanto viene trattato qui, ma la funzionalità principale è relativamente semplice (il che lo rende una grande utilità).