4.3 KiB
Multiplexer
Un multiplexer, o mux, e' un dispositivo che consente ci collegare piu' ingressi a una singola uscita. Un multiplexer da terminale permette di passare tra diversi ingressi o sessioni. Due esempi sono screen
e tmux
.
Le sessioni possono essere scollegate dal terminale corrente, coi programmi che continuano ad essere eseguiti in background.
screen
Invocato semplicemente digitando screen
sul terminale. Il file di configurazione e' ~/.screenrc
Ogni comando e' preceduto dalla combinazione CTRL + a
.
Un elenco dei comandi principali:
CTRL + a + w
: mostra i nomi delle finestre. Il conteggio parte da 0CTRL + a + c
: crea una nuova finestra (il simbolo*
indica la finestra corrente)CTRL + a + "
: mostra una lista a elenco: delle finestre
0-$ bash 1*$ bash
CTRL + a + A
: rinominare la finestra correntescreen -t anotherwindow
: crea una finestra con un nome stabilitoCTRL + a + n
: spostarsi alla finestra successivaCTRL + a + p
: precedenteCTRL + a + number
: alla finestra numberCTRL + a + k
: chiude la finestra attualmente in usoCTRL + a + S
: divide il terminale in due regioni orizzontaliCTRL + a + |
: verticalmenteCTRL + a + Tab
: muoversi tra le regioniCTRL + a + Q
: termina tutte le regioniCTRL + a + X
: termina la regione correnteCTRL + a + D
: distacco dalla sessioneCTRL + a + :
: per entrare nella modalita' di comandoquit
Alcune opzioni di screen:
screen -ls
: mostra un elenco di tutte le sessioniscreen -S new-session
: creare una nuova sessione con nome new-sessionscreen -R SESSION-PID
oscreen -R SESSION-NAME
: collegarsi alla medesima sessionescreen -t SESSION-NAME COMMAND
: crea una sessione SESSION-NAME, nella quale sara' eseguito il comando COMMAND. Ad esempio:screen -t top top
screen -X -S SESSION_NAME quit
: chiude la sessione
Copia e incolla: scrollback-mode
CTRL + a + [
: accedere alla scrollback-mode- Spostarsi all'inizio del testo da copiare coi tasti freccia
- Premere
Space
, per segnale l'inizio della selezione del testo - Spostarsi coi tasti freccia fino al termine del testo da copiare
- Premere
Space
, per segnale il termine della selezione del testo CTRL + a + ]
: permette di incollare il testo
tmux
- Implementa un modello client-server: il server fornisce una serie di sessioni, ciascuna delle quali puo' avere un numero di finestre ad esse collegate, che possono a loro volta essere condivise tra diversi client
- Progetto piu' recente
- Consente di gestire più sessioni contemporaneamente
- tmux ha un sistema di plugin più avanzato, con possibilità di estendere le funzionalità del programma
Puo' essere invocato digitando tmux
:
[0] 0:bash* "pc" 21:36 10-dic-24
La barra di stato fornisce le seguenti informazioni:
- data e ora
- Nome della sessione:
[0]
- Numero della finestra:
0
- Window name:
bash*
. Nome di default del programma, che tmux aggiorna in modo da riflettere il programma in esecuzione. L'asterisco indica la finestra corrente
Un elenco dei comandi principali:
tmux new -s "NAME_SESSION" -n "WINDOW_NAME"
: assegnare un nome alla sessione e alla finestraCTRL + b
: prefisso dei comandiCTRL + b + c
: per creare una nuova finestraCTRL + b + w
: per visualizzare tutte le finestreCTRL + b + &
: per chiudere una finestraCTRL + b + $
: rinominare una sessioneCTRL + b + ,
: rinominare una finestraCTRL + b + n
: per passare alla finestra successivaCTRL + b + p
: precedenteCTRL + b + s
otmux ls
: elencare le varie sessionitmux kill-session -t SESSION_NAME
: terminare la sessione SESSION_NAMEtmux attach -t SESSION_NAME
: collegarsi alla sessione SESSION_NAMECTRL + b + d
: detach dalla sessioneCTRL + b + :
: per entrare nella modalita' di comandosplit-window
kill-window
Riquadri
tmux permette di suddividere la finestra in riquadri. Si tratta di pseudo-terminali: terminare un riquadro terminera' anche il suo pseudo terminale e tutti i programmi ad esso associati.
CTRL + b + "
: per dividere la finestra orizzontalmenteCTRL + b + %
: per dividere la finestra verticalmenteCTRL + b + x
: per eliminare il riquadro corrente
I suoi file di conf si trovano in /etc/tmux.conf
o ~/.tmux.conf
****