Come usare tmux su Linux (e perché è meglio dello schermo?)

Contenuti

Un terminale Linux stilizzato su un laptop con sessioni di shell in background.

El Linux tmux Il comando è un multiplexer di terminale, Che cosa screen. I suoi difensori sono molti e accesi, quindi abbiamo deciso di confrontare i due. è tmux veramente meglio, O è solo un caso di preferire quello che sai?

tmux davanti allo schermo

Entrambi tmux y GNU screen comandi multiplexer terminali audio. Ti consentono di avere più finestre all'interno di una singola finestra di terminale e di passare da una all'altra. Una finestra può essere divisa in pannelli, ognuno dei quali ti dà una riga di comando separata.

Puoi anche disconnettere una sessione e diventa un'entità senza testa che viene eseguita in background; puoi anche chiudere la finestra del terminale che l'ha avviato. Quando sei pronto, puoi aprire una nuova finestra di terminale e riconnettere la sessione che è ancora in esecuzione. Puoi farlo anche tramite una connessione SSH.

Puoi disconnettere una sessione su un computer, vai a casa e accedi al computer remoto. Quando si riconnette, puoi riconnettere la sessione in background e usarla di nuovo in modo interattivo.

Qual è il comando sullo schermo??

il screen Il comando è anche un multiplexer terminale ed è ricco di alternative. Per sapere tutto quello che puoi fare con esso, vedi il nostro post dettagliato.

Questa volta, stiamo andando a concentrarsi su tmux. Mentre andiamo, menzioneremo come screen gestisce la stessa caratteristica o funzione.

Solo una cosa ci ha infastidito screen. Lo copriremo quando ci arriveremo, e vedremo se tmux va meglio.

IMPARENTATO: Come usare il comando dello schermo di Linux

Installazione di Tmux

Tempo metereologico screen generalmente installato per impostazione predefinita sulle distribuzioni Linux più diffuse, tmux non è. Installare tmux in Ubuntu, scrivi quanto segue:

sudo apt-get install tmux

A Manjaro puoi usare pacman:

sudo pacman -Sy tmux

In Fedora 31, tmux è già installato.

Avvia una sessione di tmux

Iniziare tmux, basta digitarlo e premere Invio:

tmux

La finestra del terminale mostrerà una barra di stato quando sei in a tmux sessione.

Il lato destro della barra di stato mostra il nome host, l'ora e la data. Il lato sinistro mostra le informazioni successive relative alla sessione:

  • [0]: Questo è il nome della sessione. Per impostazione predefinita, sono numerati, a partire da zero. Prossimo, spieghiamo come puoi dare alle sessioni nomi significativi.
  • 0: bussare *: Il 0 indica che questa è la prima finestra di questa sessione. L'unica procedura che viene eseguita in questa sessione è bash. Se esegui un programma, il tuo nome apparirà qui. L'asterisco tmux significa che questa è la finestra che stai guardando. Ogni volta che crei una nuova finestra in a

sessione, il numero della finestra e il nome del programma in esecuzione in essa vengono aggiunti alla barra di stato. screen il Il comando non ti dà una barra di stato per impostazione predefinita. Devi volare alla cieca e fidarti del tuo ingegno per sapere cosa sta succedendo, che richiede un po' di pratica. (A meno che tuimposta la tua barra di stato

.)

Il lato positivo, non perderai una sola riga di spazio nella finestra del terminale. Certo, Espanderei regolarmente la finestra del terminale per rendere utile l'utilizzo di un multiplexer di terminale. Quindi, perdere una riga per la barra di stato non è un grosso problema. Abbiamo lasciato le immagini delle finestre del terminale qui alla dimensione predefinita in modo che tu possa vedere le informazioni. tmux I comandi sono dati a tmuxusando le sequenze di tasti, e ci sono due parti in questo. Primo, presidenza Ctrl + B per otteneretmuxAttenzione. Prossimo, premere rapidamente il tasto successivo per inviare un comando a

. I comandi vengono dati premendo le lettere, numeri, segni di punteggiatura o tasti freccia. screenÈ lo stesso in

, tranne che premi Ctrl + A per attirare la tua attenzione.

Per chiudere la finestra, pressione Ctrl + B, e poi premi rapidamente X. La barra di stato diventa color ambra. Ti verrà quindi chiesto di confermare che vuoi chiudere la finestra.

Premi Y per chiudere la finestra o N se cambi idea. Non è necessario premere Invio dopo; Y o N è sufficiente per registrare la tua scelta.

Se premi Y, la finestra si chiude. Perché questa è l'unica finestra in questa sessione, la sessione finisce. tmux il tmuxla sessione si chiude e torna alla riga di comando da cui è partita[uscito]. Vedrai “

"Nella finestra del terminale.

Questo può sembrare ovvio, ma è una conferma che hai chiuso la sessione e non l'hai lasciata disconnessa e funzionante. Discuteremo le sessioni di rottura di seguito..

Avvia una sessione tmux denominata tmux Se inizi regolarmente screensessioni, apprezzerai rapidamente la funzionalità di dare a ciascuno di essi un nome significativo. Puoi nominare le sessioni in

, Cosa c'è di più, ma non vengono mostrati da nessuna parte nelle finestre della sessione. tmux Iniziare new con un nome di sessione, usa el -s (nuova sessione) comando, e il

tmux new -s geek-1

(nome della sessione) opzione. La nostra sessione sarà chiamata “geek-1”, quindi scriviamo quanto segue: tmux Quando il

carico di sessione,

Una sessione tmux con il nome “geek-1” sul lato sinistro della barra di stato.

Aggiungi più finestre dmesg Per creare una nuova finestra nella sessione corrente, pressione Ctrl + SI poi DO. Otterrai una finestra di terminale vuota nella sessione corrente. Allora avremo qualcosa in esecuzione in questa nuova finestra, iniziamo il comando -w con il

dmesg -w

(Continua) opzione: topOra abbiamo due finestre nella sessione; uno sta correndo dmesg, e l'altro

. Nonostante questo, possiamo vederne solo uno alla volta (più su quello in un momento). tmux Dai un'occhiata al lato sinistro della barra di stato. Siamo ancora nel “geek-1” dmesg sessione. Alla finestra zero, la parte superiore sta correndo, e nella finestra uno, dmesg sta correndo. L'asterisco

dopo

  • ci dice quale finestra è visibile.Per saltare tra le finestre, pressione Ctrl + B, e poi uno dei seguenti tasti: Nord
  • : Mostra finestra successiva.
  • PAG: Mostra la finestra precedente.

0 un 9:

Visualizza una finestra numerata del 0 al 9.

Puoi anche selezionare una finestra da un elenco. Se premi Ctrl + B e poi W, viene visualizzato un elenco di finestre.

Per spostare la barra di evidenziazione color ambra, premi le frecce su o giù, Inizio o fine. La sezione inferiore dello schermo mostra un'anteprima del contenuto nella finestra evidenziata.

Premi Invio per andare alla finestra evidenziata o Esc per uscire dall'elenco delle finestre senza cambiare.

Stacca e collega le sessioni top Se premi Ctrl + B e poi D, disconnetterà la sessione. Continuerà a funzionare in background, ma non sarai in grado di vederlo o interagire con esso.

Abbiamo iniziato tmux nella sessione, quindi abbiamo una procedura in corso per dimostrarlo. Dopo, premiamo Ctrl + B, e poi D. La sessione scompare e diventa una sessione in background.

Torniamo alla finestra del terminale originale. C'è un messaggio da attach-session dicendoci che la sessione è separata. Ci ricorda anche il nome che abbiamo dato alla sessione. Questo è utile perché è ciò che usiamo per allegare una sessione in background e quindi ripristinarla in una interattiva.. -t Per allegare una sessione separata, useremo l'autoesplicativo

comando con il

tmux attach-session -t geek-1

(sessione di destinazione) opzione. Forniremo anche il nome della sessione che vogliamo ricordare.

Scriviamo quanto segue:

screen La nostra sessione ritorna e diventa di nuovo una sessione interattiva visibile.

Qualsiasi procedura di lunga durata o continua avviata prima di disconnettere la sessione continuerà a essere eseguita in background (a meno che non siano finiti) quando allego la sessione.

può farlo, ma non così intuitivamente. tmux Gestire più sessioni

tmux new -s geek-2

Apriamo un'altra finestra di terminale e iniziamo una nuova dmesgsessione chiamata “disadattato-2”:

dmesg -w

In quella sessione, inizieremo tmux :

Ora, abbiamo il nostro “geek-1” originale dmesgsessione e una nuova chiamata “disadattato-2”.

La barra di stato ci mostra che questa sessione è stata chiamata “disadattato-2”, e ha una finestra che funziona

.

Se premiamo Ctrl + B, e poi D, separiamo quella sessione. tmux Geek-2 sessione tmux separata in un terminale widnow. tmux di nuovo nel “geek-1”

sessione, premiamo Ctrl + B, e poi Y per vedere un elenco di

sessioni.

per essere chiari, questo è un elenco di sessioni. La schermata equivalente che abbiamo visto in precedenza era un elenco di finestre in una singola sessione.

Puoi spostare la barra evidenziata in ambra premendo le frecce su e giù, Inizio e fine. La sezione inferiore mostra un'anteprima del contenuto della sessione evidenziata.

Se premi la freccia destra, vengono visualizzate le finestre della sessione evidenziata. tmux Premi Invio per andare alla sessione o finestra evidenziata o Esc per uscire dall'elenco delle sessioni senza modificare le sessioni. Se selezioni una nuova sessione, quello attuale è disconnesso e quello che hai selezionato è attaccato.

Separiamo la sessione “disadattato-2” prima di farlo. Nonostante questo, puoi farlo con le sessioni che sono ancora connesse alle loro finestre di terminale originali. Quando io faccio, le modifiche dello schermo appariranno contemporaneamente su entrambi screen sessioni.

il

Il comando può farlo anche tramite un insieme equivalente di comandi.

Lavora con i vetri delle finestre tmux ls Se premi Ctrl + B e poi doppie virgolette (“”), divide la finestra orizzontalmente in due pannelli.

Questo ha effetto solo sulla finestra corrente; gli altri nella sessione non verranno modificati. Abbiamo usato il

comando nel riquadro in alto per elencare le finestre in questa sessione. Ci sono due, e la riga di stato ci dice che siamo nella finestra uno. Se saltiamo alla finestra zero premendo Ctrl + B, poi 0 (zero), vediamo che è come l'abbiamo lasciato.

uname -a

ls -hl

Queste sono due righe di comando indipendenti, non due viste in una finestra; sono gusci distinti e separati. Possiamo mostrarlo eseguendo un comando diverso in ogni pannello.

Scriviamo quanto segue:

Per passare da un pannello all'altro, pressione Ctrl + B e poi le frecce su, fuori uso, sinistra o destra.%) Due comandi diversi su due pannelli in una sessione tmux in un terminale vedovo.

Se premi Ctrl + B e poi il segno di percentuale ( tmux divide verticalmente il pannello corrente.

Ctrl pressione + B e poi Q da fare tmuxvisualizzare brevemente il numero di ogni pannello.

Questi numeri vengono utilizzati nelle indicazioni e nei messaggi di

. Ctrl pressione + B e poi X per chiudere il pannello corrente. La barra di stato diventa color ambra e ti viene chiesto di confermare che vuoi chiudere quel numero di pannello. Premi Y per rimuovere il pannello, o N per lasciare le cose come stanno. screen Se premi Y, il pannello viene rimosso. screen il

Il comando ha anche dei pannelli, ma, ancora, sono meno intuitivi da usare. Cosa ci dà fastidio

In altre parole, se disconnetti una sessione con pannello, scompare quando ti riconnetti a quella sessione. Questo invecchia molto rapidamente. tmux A Ctrl + B Cheat Sheet

Abbiamo incluso un cheat sheet dei diversi comandi che puoi usare in

  • sotto. Comandi di sessione
  • S: Elenca le sessioni.
  • PS Rinomina la sessione corrente.
  • D: Stacca la sessione corrente. tmuxCtrl + B, poi?:

Mostra la pagina di aiuto in

  • . Comandi della finestra
  • C: Crea una nuova finestra.
  • ,: Rinomina la finestra corrente.
  • W: Elenca le finestre.
  • NORD: Vai alla finestra successiva.
  • PAG: Vai alla finestra precedente.

0 un 9:

  • Vai al numero di finestra specificato. Comandi del pannello
  • %: Crea una divisione orizzontale.
  • “: Crea una divisione verticale.
  • H o freccia sinistra: Vai al pannello di sinistra.
  • I o freccia destra: Vai al pannello di destra.
  • J o freccia giù: Vai al pannello qui sotto.
  • K o freccia su:Vai al pannello sopra.
  • Q : Visualizza brevemente i numeri del pannello.
  • oh: Scorri i pannelli in ordine. Ogni pressione ti porta al successivo, finché non passa attraverso tutto.
  • }: Scambia la posizione del pannello corrente con il successivo.
  • {: Scambia la posizione del pannello corrente con quello precedente.

X:

Chiudi pannello corrente. screen Come si confrontano? tmux In termini di funzionalità, tmux e

entrambi funzionano in modo equivalente e offrono le stesse caratteristiche principali. È il modo in cui accedi a quelle funzioni che è notevolmente diverso.. tmux offre modi più semplici e convenienti per accedere alle varie funzioni. Nonostante questo, non è l'unica differenza.

screenLa possibilità di rinominare sessioni e finestre in

è ordinato, e il fatto che tu mantenga le tue dashboard quando ricolleghi una sessione è un punto di svolta. tmux, d'altra parte, perdere assolutamente i pannelli quando si disconnette e si riconnette una sessione. Questo è abbastanza fastidioso da evitare in primo luogo la separazione..

C'è molto di più da

, comprese le sue capacità di scripting incredibilmente flessibili. Lo devi a te stesso per verificarlo.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.