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

  1. Avvia una nuova sessione:
screen

Vedrai un prompt dei comandi o una schermata di benvenuto (premi Spazio o Invio).

  1. Esegui il comando desiderato (ad es. top, htop, python3 script.py, ecc.).
  2. Distacca la sessione (senza terminarla):
Ctrl + a, poi d

Vedrai: [detached from ...]

  1. 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:

  1. Premi Ctrl + a, poi [ — entri in modalità copia.
  2. Usa i tasti freccia, Pag Su/Giù o i tasti in stile vi (h,j,k,l) per scorrere.
  3. Premi Esc o q per uscire.

I nostri prodotti e servizi

Hosting WebServizi di hosting affidabili per siti web di qualsiasi dimensione.
Ordina
VPSInfrastruttura cloud flessibile con accesso root completo.
Ordina
Server DedicatiServer dedicati per le massime prestazioni.
Ordina

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

Hosting WebServizi di hosting affidabili per siti web di qualsiasi dimensione.
Ordina
VPSInfrastruttura cloud flessibile con accesso root completo.
Ordina
Server DedicatiServer dedicati per le massime prestazioni.
Ordina

Aiuto

Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!

Hai bisogno di aiuto?I nostri ingegneri ti aiuteranno gratuitamente con qualsiasi domanda in pochi minutiContattaci