Lavorare con Screen
Guida all'avvio e alla gestione di programmi in background su un server Linux.
Screen è un potente terminal multiplexer che ti permette di eseguire programmi in sessioni distaccate, disconnetterti senza terminare il processo e riconnetterti in un secondo momento. È particolarmente utile quando lavori su un VPS o server dedicati via SSH: puoi avviare attività di lunga durata (ad esempio aggiornamenti, parsing, mining o applicazioni lato server), disconnetterti e riprendere il lavoro anche dopo un'interruzione della connessione.
Screen crea terminali virtuali (finestre) in cui vengono eseguiti i comandi, e ti consente di passare dall'uno all'altro o di gestirli in modo indipendente.
Installazione
Ubuntu / Debian:
sudo apt update
sudo apt install screen -y
CentOS / RHEL / AlmaLinux / Rocky:
sudo yum install screen -y
# oppure
sudo dnf install screen -y
Utilizzo di base
- Avvia una nuova sessione:
screen
Vedrai un prompt dei comandi o una schermata di benvenuto (premi Spazio o Invio).
- Esegui il comando desiderato (ad es.
top,htop,python3 script.py, ecc.). - Distacca la sessione (senza terminarla):
Ctrl + a, poi d
Vedrai: [detached from ...]
- Riconnettiti in seguito:
screen -r
Se hai più sessioni — elencale prima:
screen -ls
Esempio di output:
There are screens on:
1234.pts-0.server (Detached)
5678.job1 (Detached)
2 Sockets in /var/run/screen/S-root.
Riconnettiti a una sessione specifica:
screen -r 1234
oppure per nome:
screen -r job1
Comandi utili all'interno di Screen
- Creare una nuova finestra (all'interno di una sessione): Ctrl + a, poi c
- Passare tra le finestre: Ctrl + a, poi numero della finestra (0–9) oppure Ctrl + a, poi " (elenco delle finestre)
- Rinominare la finestra corrente: Ctrl + a, poi A → digita il nuovo nome
- Chiudere la finestra corrente: Ctrl + a, poi k → conferma con y
- Terminare l'intera sessione Screen: Ctrl + a, poi : → digita quit → Invio
- Uscire dalla modalità copia (se hai attivato la modalità di scorrimento): Esc oppure q
Scorrimento dell'output (modalità copia)
Se l'output di un comando va oltre lo schermo:
- Premi Ctrl + a, poi [ — entri in modalità copia.
- Usa i tasti freccia, Pag Su/Giù o i tasti in stile vi (h,j,k,l) per scorrere.
- Premi Esc o q per uscire.
I nostri prodotti e servizi
Personalizzare Screen (~/.screenrc)
Crea o modifica ~/.screenrc:
Esempio di configurazione utile:
# Disabilita il messaggio di benvenuto
startup_message off
# Mostra sempre la barra di stato in basso
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
# Crea automaticamente le finestre all'avvio
screen -t Main
screen -t Logs
chdir /var/log
screen -t Backup
Dopo il salvataggio, le nuove sessioni avranno una barra di stato curata e finestre preconfigurate.
Consigli utili
- Se una sessione si blocca — riconnettiti in modalità multiutente:
screen -x
- Per avviare Screen automaticamente al login SSH — aggiungi a
~/.bashrc:
if [ -z "$STY" ]; then screen -x || screen -S main; fi
- Screen è ideale per i processi di lunga durata (aggiornamenti del sistema operativo, compilazione, elaborazione di grandi quantità di dati, bot, ecc.).
I nostri prodotti e servizi
Aiuto
Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!