GNU/Linux >> Linux Esercitazione >  >> Linux

Suggerimenti per l'utilizzo di tmux

Prima di Red Hat Enterprise Linux 8, la screen il comando era incluso. Nella versione 8, è stata presa la decisione di deprecare screen e usa tmux invece. tmux è un multiplexer di terminale, il che significa che puoi avere un processo in esecuzione, disconnetterti dal sistema e quindi riconnetterti in un secondo momento e da un computer diverso in modo da poter continuare a lavorare in quel processo. Un modo semplice per dimostrarlo è inviare tramite SSH a un sistema remoto, avviare tmux , e quindi dall'interno, avvia un ping comando a un sistema remoto, disconnettersi da tmux , riprendi tmux e vedrai che il ping sta ancora andando. Alcuni dei casi d'uso comuni per questo sono:

  • Se hai un processo di lunga durata, come un aggiornamento di un'applicazione, e non vuoi lasciare la sessione ssh in esecuzione per tutto il tempo o temi che la tua connessione di rete possa interrompersi.
  • li>
  • Inoltre, se hai più sessioni in esecuzione, puoi utilizzare le etichette per le diverse sessioni.
  • Se vuoi che qualcun altro veda cosa stai facendo, puoi avviare un tmux sessione e quindi fai in modo che l'altra persona SSH nel tuo sistema e si colleghi a quel tmux sessione.

Per avviare una sessione di base, esegui semplicemente tmux comando. Questo ti porta in un tmux sessione e sarai in grado di eseguire comandi e fare cose proprio come faresti normalmente come tuo utente. Per disconnetterti dalla sessione, ma continua a lasciarla in esecuzione, premi Ctrl+B e poi D . Per riprendere la sessione, posso eseguire:

$ tmux ls    ### to see if there are any other tmux sessions
$ tmux a    ### this will connect to the most recent session that was created.

Se ci sono più sessioni, puoi connetterti in base al numero della sessione:

[root@opendemo ~]# tmux ls
0: 1 windows (created Thu Jan 28 19:58:27 2021) [103x22]
1: 1 windows (created Thu Jan 28 20:00:54 2021) [103x22]
2: 1 windows (created Thu Jan 28 20:01:08 2021) [103x22]
3: 1 windows (created Thu Jan 28 20:01:39 2021) [103x22]

[root@opendemo ~]# tmux a -t 1
[detached]

[root@opendemo ~]#

Un esempio di come lo uso è che l'ultimo comando del mio script di avvio personale che si connette alla VPN e fa altre cose è eseguire:

# /usr/bin/ssh -t shell-el7.redhat.com tmux attach

Questo mi collega tramite SSH a quel server remoto e quindi si collega al mio tmux sessione che so esiste con irssi in esecuzione. Per informazioni sull'utilizzo di irssi , consulta il mio articolo Usare Irssi all'interno di una sessione Linux tmux.

[ Potrebbe interessarti anche: Building with Buildah:Dockerfiles, command line or scripts]

Il secondo caso d'uso di esempio sopra riguardava l'etichettatura delle diverse sessioni. Ora che abbiamo esaminato alcune delle nozioni di base sull'utilizzo di tmux , vediamo un esempio di utilizzo delle etichette:

[root@opendemo ~]# tmux new -s "database upgrade"
[detached]

[root@opendemo ~]# tmux new -s "other process"
[detached]

[root@opendemo ~]# tmux ls
database upgrade: 1 windows (created Thu Jan 28 19:50:03 2021) [103x22]
other process: 1 windows (created Thu Jan 28 19:50:23 2021) [103x22]

[root@opendemo ~]# tmux attach -t "database upgrade"
[detached]

[root@opendemo ~]#

Potresti notare che se hai del testo che scorre oltre la parte superiore dello schermo, non puoi semplicemente premere Pagina su chiave per vederlo.

Per poter usare i tasti cursore in tmux per tornare nel buffer, premi Ctrl+B e poi [ chiave. A questo punto, potrai utilizzare la Freccia chiavi, Pagina su o Pagina giù per spostarsi nell'output sullo schermo.

Se vuoi dividere il tmux sessione in diversi riquadri, puoi dividere la sessione verticalmente con Ctrl+B e poi % . Per dividere il riquadro orizzontalmente, dovresti usare Ctrl+B e poi una doppia virgoletta singola . Nello screenshot qui sotto, ho prima diviso la sessione verticalmente, quindi ho diviso il riquadro destro orizzontalmente.

Per spostare il cursore da un riquadro all'altro, dovresti utilizzare Ctrl+B e poi qualsiasi Freccia per muoverti in quella direzione.

Per terminare una sessione senza collegarsi ad essa e quindi digitare exit , useresti kill-session e quindi specificare la sessione da terminare:

Ci sono più opzioni per tmux e sono disponibili per la visualizzazione utilizzando Ctrl+B e poi ? :

[ Impara le basi dell'uso di Kubernetes in questo cheat sheet gratuito. ] 

Ulteriori letture possono essere trovate nella pagina man di tmux . Questo articolo ha fornito una rapida introduzione all'uso di tmux comando in modo che una sessione remota disconnessa non finisca per uccidere accidentalmente un processo. Un altro programma simile a tmux è screen e puoi leggere lo screen in questo articolo.


Linux
  1. Suggerimenti Linux per l'utilizzo di cron per pianificare le attività

  2. 8 suggerimenti per un'automazione affidabile del sistema Linux

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

  4. 3 solidi suggerimenti per l'autovalutazione per gli amministratori di sistema

  5. Utilizzo dello strumento SS per la risoluzione dei problemi di rete

Suggerimenti per l'utilizzo del comando top in Linux

Iniziare con Tmux

Suggerimenti per l'utilizzo dello schermo

Tmux Socket Api?

Suggerimenti essenziali per l'installazione e l'utilizzo di testo sublime su Ubuntu

Avvio di tmux tramite gnome-terminal