Se vi è capitato di interrompere un’attività in corso da tempo in un terminale Linux a causa di una sessione SSH persa o di una finestra di terminale chiusa, sapete quanto possa essere frustrante. Fortunatamente, i server Linux offrono una potente utility chiamata screen che consente di eseguire sessioni di terminale in background, staccarsi da esse e ricollegarsi in seguito, anche dopo la disconnessione.

In questa guida vi illustreremo le basi dell’uso di screen, dall’installazione ai comandi più comuni.

Che cos’è screen?

screen è un multiplexer di terminale che consente di creare più sessioni di terminale all’interno di un’unica finestra. È possibile staccarsi da una sessione, lasciarla in esecuzione in background e riattaccarla in un secondo momento, il che la rende perfetta per il lavoro in remoto o per l’esecuzione di processi persistenti.

Installazione di screen

Nella maggior parte delle distribuzioni Linux, screen è disponibile tramite il gestore di pacchetti predefinito.

Per Debian/Ubuntu:

sudo apt update
sudo apt install screen

Per CentOS/RHEL:

sudo yum install screen

Per Fedora:

sudo dnf install screen

Uso di base

Avvio di una sessione di schermo

schermo

Questo comando apre una nuova sessione di schermo. Verrà visualizzato un messaggio di benvenuto e un prompt del terminale.

Dare un nome alla sessione

schermo -S mysessione

Usate -S per assegnare un nome alla sessione per potervi fare riferimento in seguito.

Distacco e riattacco

Staccarsi da una sessione

All’interno della sessione schermo, premere:

Ctrl A , quindi D

In questo modo si stacca la sessione e la si lascia in esecuzione in background.

Elenco delle sessioni attive

schermo -ls

Visualizza un elenco delle sessioni di schermo correnti:

Ci sono schermi attivi:
12345.mysession (staccato)

Riattaccare a una sessione

screen -r mysession

Oppure utilizzare l’ID della sessione:

screen -r 12345

Lavorare con più finestre

All’interno di una sessione di schermo, è possibile creare più finestre di terminale.

  • Creare una nuova finestra: Ctrl A , poi C

  • Passare alla finestra successiva: Ctrl A, quindi N

  • Passare alla finestra precedente: Ctrl A , quindi P

  • Elenca tutte le finestre: Ctrl A , quindi “(doppie virgolette)

Ogni finestra esegue la propria shell e tutte continuano a girare in background se ci si stacca.

Registrazione e output

Per registrare l’output di una sessione di schermo:

  1. Avviare o accedere alla sessione dello schermo.

  2. Attivare la registrazione:

    Ctrl A, quindi H

    Questo crea un file chiamato screenlog.0 nella directory corrente.

Chiusura di una sessione

Per uscire da una sessione, è sufficiente digitare exit nel terminale dello schermo. In questo modo si termina la shell e si chiude la sessione.

Se si hanno più finestre, è necessario uscire da tutte o chiudere l’intera sessione digitando:

exit

in ciascuna di esse.

Suggerimenti avanzati

  • Scorrimento indietro: Ctrl A e poi Esc consentono di accedere alla modalità di copia/scorrimento.

  • Condividere una sessione: Più utenti possono connettersi alla stessa sessione utilizzando la modalità multiutente.

  • Configurazioni personalizzate: Modificate ~/.screenrc per ottenere scorciatoie e preferenze personali.

Conclusione

screen è uno strumento indispensabile per tutti gli utenti Linux che gestiscono attività di lunga durata o lavorano in remoto tramite SSH. La sua capacità di mantenere i processi vivi e accessibili lo rende prezioso per sviluppatori, sysadmin e appassionati.

Esplorate man screen per scoprire altre funzionalità e iniziate a lavorare in modo più intelligente nel vostro terminale!