Hai mai affrontato la situazione in cui si esegue un compito di lunga durata su una macchina remota, e improvvisamente la connessione cade, la sessione SSH viene terminata, e il tuo lavoro è perso. Beh, è successo a tutti noi ad un certo punto, no? Per fortuna, c’è un’utility chiamata screen
che ci permette di riprendere le sessioni.
Introduzione #
Screen o GNU Screen è un multiplexer di terminale. In altre parole, significa che è possibile avviare una sessione di schermo e poi aprire qualsiasi numero di finestre (terminali virtuali) all’interno di quella sessione. I processi in esecuzione in Screen continueranno a funzionare quando la loro finestra non è visibile anche se si viene disconnessi.
Installare Linux GNU Screen #
Il pacchetto screen è preinstallato sulla maggior parte delle distro Linux al giorno d’oggi. Puoi controllare se è installato sul tuo sistema digitando:
screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
Se non hai screen installato sul tuo sistema, puoi facilmente installarlo usando il gestore dei pacchetti della tua distro.
Installare Linux Screen su Ubuntu e Debian #
sudo apt update
sudo apt install screen
Installare Linux Screen su CentOS e Fedora #
sudo yum install screen
Avviare Linux Screen #
Per avviare una sessione schermo, digitate semplicemente screen
nella vostra console:
screen
Questo aprirà una sessione dello schermo, creerà una nuova finestra e avvierà una shell in quella finestra.
Ora che avete aperto una sessione a schermo, potete ottenere una lista di comandi digitando:
Ctrl+a
?
Avviare una sessione denominata #
Le sessioni denominate sono utili quando eseguite più sessioni a schermo. Per creare una sessione nominata, eseguire il comando screen con i seguenti argomenti:
screen -S session_name
È sempre una buona idea scegliere un nome descrittivo per la sessione.
Lavorare con Linux Screen Windows #
Quando si avvia una nuova sessione dello schermo, viene creata una singola finestra con una shell al suo interno.
Puoi avere più finestre all’interno di una sessione schermo.
Per creare una nuova finestra con shell di tipo Ctrl+a
c
, il primo numero disponibile dalla gamma 0...9
sarà assegnato ad essa.
Di seguito ci sono alcuni comandi più comuni per gestire Linux Screen Windows:
-
Ctrl+a
c
Crea una nuova finestra (con shell) -
Ctrl+a
"
Elenca tutte le finestre -
Ctrl+a
0
Passa alla finestra 0 (per numero) -
Ctrl+a
A
Rinomina la finestra corrente -
Ctrl+a
S
Dividi la regione corrente orizzontalmente in due regioni -
Ctrl+a
|
Dividi la regione corrente regione verticalmente in due regioni -
Ctrl+a
tab
Passa il focus dell’input alla prossima regione -
Ctrl+a
Ctrl+a
Passa dalla regione corrente a quella precedente -
Ctrl+a
Q
Chiudi tutte le regioni tranne quella corrente -
Ctrl+a
X
Chiudi la regione corrente
Distacco dalla sessione dello schermo di Linux #
Ti puoi staccare dalla sessione dello schermo in qualsiasi momento digitando:
Ctrl+a
d
Il programma in esecuzione nella sessione dello schermo continuerà a funzionare anche dopo il distacco dalla sessione.
Riagganciarsi a uno schermo Linux #
Per riprendere la sessione dello schermo usate il seguente comando:
screen -r
Nel caso abbiate più sessioni di schermo in esecuzione sulla vostra macchina, dovrete aggiungere l’ID della sessione dello schermo dopo lo switch r
.
Per trovare l’ID della sessione elencare le sessioni di schermo in corso con:
screen -ls
Se si desidera ripristinare lo schermo 10835.pts-0, allora digitate il seguente comando:
screen -r 10835
Personalizzare Linux Screen #
Quando screen
viene avviato, legge i suoi parametri di configurazione da /etc/screenrc
e ~/.screenrc
se il file è presente. Possiamo modificare le impostazioni predefinite di Screen secondo le nostre preferenze utilizzando il file .screenrc
.
Ecco un esempio di configurazione ~/.screenrc
con linea di stato personalizzata e alcune opzioni aggiuntive:
Uso base di Linux Screen #
Di seguito sono riportati i passi fondamentali per iniziare ad usare Screen:
- Al prompt dei comandi, digitare
screen
. - Esegui il programma desiderato.
- Usa la sequenza di tasti
Ctrl-a
Ctrl-d
per staccarti dalla sessione dello schermo. - Riagganciati alla sessione dello schermo digitando
screen -r
.
Conclusione #
In questo tutorial, hai imparato come usare Gnu Screen. Ora puoi iniziare a usare l’utilità Screen e creare più finestre dello schermo da una singola sessione, navigare tra le finestre, staccare e riprendere le sessioni dello schermo e personalizzare il tuo terminale dello schermo usando il file .screenrc
.
C’è molto altro da imparare su Gnu Screen alla pagina del manuale utente di Screen.