Screen: Tutti i Comandi Base per Gestire Sessioni Teminali su Linux
Qualsiasi utente linux si imbatte nella necessità di aumentare le prestazioni
della propria attività lavorativa quotidiana nell'utilizzo del terminale. Per
fare ciò si avvale di strumenti software sofisticati che aiutino a raggiungere
tale obiettivo: screen
è uno strumento tra questi.
Screen
è un strumento potentissimo che consente la gestione delle sessioni di
terminale su Linux, risulta particolarmente utile per mantenere le sessioni
attive anche quando ci si disconnette dal sistema. Attraverso screen
possiamo lanciare comandi su un server e successivamente disconnetterci dal
server stesso lasciando il comando in esecuzione. Allo stesso modo screen
può
essere utilizzato per gestire diverse finestre di terminale contemporaneamente.
In questo articolo vedrai come utilizzare i comandi base di screen
.
Introduzione
Attraverso i comandi di base puoi avviare una nuova sessione, scollegare una sessione, ricollegarsi ad una sessione esistente, elencare le sessioni attive, terminare una sessione.
Questi sono i comandi indispensabili per cominciare a lavorare produttivamente
con screen
.
Avviare una Nuova Sessione
Per avviare una nuova sessione di screen
, puoi aprire il terminale e digitare:
screen
Il comando apre una finestra screen
sulla quale puoi cominciare a lavorare.
In questo momento il terminale è attached
alla nuova finestra.
Avviare una Nuova Sessione attribuendo un nome
Ogni sessione creata in screen
ha un nome associato. Nella creazione della
sessione, mostrata al paragrafo precedente, il nome attribuito alla sessione
screen
è stabilito dal software stesso e di solito esso è costituito dal 6
caratteri numerici. Ovviamente tale nome non è facilmente rintracciabile nel
futuro e pertanto è buona norma attribuire un nome parlante alle sessioni
screen
.
Per creare una nuova sessione attribuendole un nome, esegui il seguente comando:
screen -S nome_sessione
La nuova sessione creata si chiamerà nome_sessione
e sarà facilmente
distinguibile da altre sessioni attive.
Scollegarsi da una sessione attiva (Detaching
)
Quando sei all'interno di una sessione screen
, hai di fronte a te un
terminale perfettamente funzionante. Tuttavia se esegui il comando exit
da
questo terminale, distruggerai la sessione screen
e tornerai al terminale
del nostro sistema (quello sul quale avevi creato la sessione screen
in
precedenza).
Ma quindi quando sei dentro una sessione screen
come puoi abbandonarla
senza dover distruggere la sessione? La risposta è nel seguente comando:
Ctrl-a d
Attraverso la pressione della sequenza di caratteri indicata, screen
effettuerà il detach
della sessione e quindi manterrà la stessa attiva,
consentendoti di tornare al terminale originale.
Questo è il comando da utilizzare quando vorrei lanciare uno script che dovrà lavorare in background e ti consentirà di continuare ad utilizzare il terminale originale o di chiuderlo.
Ricollegarsi a una Sessione (Reattaching
)
Sei sul tuo terminale di sistema e vuoi ricollegarti a qualche sessione
screen
creata in precedenza, come puoi fare?
Il comando da eseguire in questo caso è:
screen -r
Questo comando esegue il reattaching
della sessione screen
attiva, nel caso
sia creata solo una. Se hai più di una sessione screen
attiva, lancerai
il seguente comando:
screen -r ID_SESSIONE
dove ID_SESSIONE
è il nome della sessione, che può essere quello attribuito
da screen
durante la creazione o quello da noi scelto in fase iniziale.
Ma devo quindi ricordarti i nomi che attribuisci alle sessioni screen
??? No,
non preoccuparti, nel prossimo paragrafo ti dirò come vedere le sessioni
attive.
Elenco delle Sessioni screen
Attive
In qualsiasi momento puoi vedere le sessioni screen
attive, con il comando:
screen -ls
L'output prodotto dal comando è il seguente:
There are screens on:
612793.pippo (Detached)
631071.pluto (Detached)
2 Sockets in /run/screens/S-scrivocodice.
Da notare che il comando precedente ti indica che hai due sessioni pippo
e
pluto
entrambe in stato detached
. Questo output ti comunica che hai
invocato il comando dal terminale di sistema poiché nessuna delle due sessioni
è Attached
.
Se infatti eseguissi l'attaching alla sessione pippo
e rieseguissi il
comando, avresti come risultato:
There are screens on:
612793.pippo (Attached)
631071.pluto (Detached)
2 Sockets in /run/screens/S-scrivocodice.
Da qui deduci che sei all'interno della sessione pippo
.
Terminare una sessione
Per terminare una sessione screen
, ricollegati alla sessione e chiudi la
shell
all'interno della sessione con il comando exit
. In alternativa,
puoi chiudere una sessione digitando i caratteri:
Ctrl-d
Conclusioni
In questo articolo hai visto come utilizzare screen
su Linux per gestire le
sessioni di terminale. Ora sei in grado di creare nuove sessioni, scollegarti
e ricollegarti alle sessioni attive.