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-PIDoscreen -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 topscreen -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 + sotmux 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-windowkill-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****