Il comando screen è un comando molto comune usato su Linux per lanciare e organizzare più shell di terminale in una singola shell.
Screen è usato il più delle volte per due scopi.
Può essere usato per organizzare più shell e navigare facilmente tra di esse.
Può anche essere usato per avere lunghi comandi in esecuzione su server remoti.
In effetti, lo schermo viene lanciato per assicurarsi di non perdere alcun lavoro a distanza in caso di un’improvvisa interruzione della rete.
In questo tutorial, avremo una panoramica completa di cos’è il comando schermo su Linux e di come può essere usato efficacemente.
Pronto?
Tabella dei contenuti
Prequisiti
Per installare nuovi pacchetti, dovrai essere un utente sudo.
Se avete bisogno di aggiungere un utente a sudoers su Debian, c’è un tutorial per questo.
C’è anche uno per le distribuzioni basate su Red Hat.
Quando siete pronti, digitate questo comando per assicurarvi di avere i diritti sudo.
$ sudo -lUser user may run the following commands on localhost: (ALL) ALL
Installazione di Screen su Linux
Per installare Screen, dovrete eseguire uno dei seguenti comandi.
Sulle distribuzioni basate su Debian, puoi eseguire
$ sudo apt-get install screen
Per le distribuzioni basate su Red Hat, dovrai eseguire
$ sudo yum install -y screen
Quando hai finito, puoi eseguire questo comando per controllare la versione attuale di screen.
$ screen -vScreen version 4.06.02 (GNU) 23-Oct-17
Interagire con Screen su Linux
Come descritto in precedenza, screen è utilizzato per avviare una shell interattiva in cui è possibile riorganizzare più shell.
Per avviare il vostro primo schermo, digitate semplicemente il seguente comando.
Come potete vedere, non ci sono differenze con la tua shell precedente, tranne per il fatto che l’intestazione scrive
screen 0: :~
Da lì, significa che un interprete bash viene eseguito all’interno di un altro interprete bash attraverso l’utilità schermo.
Per eseguire un comando, digitate semplicemente un comando come fareste normalmente.
Per ottenere aiuto con screen
Quando si interagisce con il comando screen, si dovranno eseguire scorciatoie sulla tastiera per eseguire azioni all’interno della sessione screen.
Di default, le sequenze di tasti “Ctrl + A” sono progettate per interagire con lo schermo.
Come esempio, digitate “Ctrl + A” e poi “?” per ottenere la guida dello schermo.
Come potete vedere, avete molte opzioni diverse per interagire con lo schermo.
Le più popolari sono probabilmente le seguenti :
- “Ctrl + A” poi “d”: modalità di distacco. Puoi usare questa opzione per staccarti (il che significa tornare alla tua shell originale) e lasciare che screen venga eseguito in background. Questo è particolarmente utile quando si eseguono compiti lunghi sul vostro host.
- “Ctrl + A” poi “x”: lockscreen. Questo è usato per proteggere la vostra sessione di schermo per essere utilizzata da un altro utente. Di conseguenza, viene impostata una password alla vostra sessione.
- “Ctrl + A” poi “c”: comando schermo. Uno dei comandi più utilizzati di gran lunga, questi collegamenti sono utilizzati al fine di creare una nuova finestra all’interno della vostra istanza dello schermo.
- “Ctrl + A” poi “|”: divisione verticale. Per impostazione predefinita, questo comando dividerà la tua finestra corrente in due aree diverse con cui puoi interagire.
- “Ctrl + A” poi “S”: divisione orizzontale.
- “Ctrl + A” poi “n” : usato per navigare tra le vostre diverse sessioni di finestra da quella con l’indice più basso fino a quella con l’indice maggiore.
- “Ctrl + A” poi “Tab” : usato per spostare il cursore di input in una delle diverse aree dello schermo.
Nella maggior parte dei casi, questi sono i comandi che userete con screen.
Regioni divise con il comando screen
Come esempio, stiamo per creare il seguente layout con il comando screen su Linux.
Come potete vedere, divideremo il terminale sia verticalmente che orizzontalmente.
Una finestra sarà usata per eseguire un comando (come un comando a lungo termine per esempio).
Una seconda finestra sarà usata per monitorare le prestazioni del sistema usando il comando superiore.
Infine, un’altra finestra può essere usata per modificare un file tramite l’editor nano.
Creazione di una finestra dello schermo
Primo, crea una sessione dello schermo eseguendo il seguente comando.
$ screen -S user-screen
L’opzione -S creerà una sessione nominata per il tuo ambiente dello schermo.
Quando più amministratori lavorano sullo stesso sistema, potrebbe essere una buona idea avere sessioni nominate per distinguere le vostre sessioni dalle altre.
In seguito, dato che state per manipolare tre sessioni di shell, avrete bisogno di due schermate aggiuntive.
Eseguite il comando “crea” due volte (“Ctrl + A” poi “c”). Dovresti ritrovarti con la seguente schermata.
Nota l’intestazione o la tua shell terminale che mostra “screen 2” perché tre schermate sono attualmente attive per la tua sessione.
Suddividere le finestre dello schermo in verticale e in orizzontale
Il prossimo passo sarà quello di creare le diverse regioni sulla finestra corrente.
Per ottenere ciò, per prima cosa dividete la vostra regione corrente verticalmente premendo “Ctrl +A” e poi “|”
Dovreste ottenere il seguente risultato.
In seguito, dividete il vostro layout orizzontalmente premendo “Ctrl +A” poi “S”.
Questo è quello che dovreste ottenere.
Navigate nella vostra seconda regione premendo “Ctrl +A” poi “Tab”. Per impostazione predefinita, la vostra regione dovrebbe essere vuota, quindi potete premere “Ctrl +A” poi “n” per navigare nella vostra sessione dello schermo 0.
Da lì, eseguite il comando che volete eseguire.
Ripetere i passi precedenti per eseguire i comandi nelle altre regioni.
Ricorda che devi navigare tra le finestre dello schermo quando entri per la prima volta in una regione divisa.
Accidenti! Hai creato la tua sessione di schermo personalizzata completa.
Distacco dalla tua sessione di schermo
Per staccarti dalla tua sessione di schermo, premi semplicemente i seguenti tasti.
$ Ctrl + A then d
La tua sessione schermo è ancora in esecuzione in background.
Questo è uno degli aspetti principali del comando schermo.
Può essere usato per creare un host remoto via SSH, eseguire alcune azioni, ed uscire per tornarci in seguito.
In questo modo, non dovete manipolare sfondo e primo piano che potreste perdere chiudendo il vostro terminale corrente.
Per verificare che la vostra sessione dello schermo sia ancora in esecuzione, eseguite il seguente comando
$ pstree | grep -A 2 -E "screen-"
Riagganciarsi alla vostra sessione schermo
Prima di tutto, puoi elencare le tue finestre dello schermo eseguendo il seguente comando.
$ screen -ls
Se hai nominato la tua sessione schermo, potete semplicemente eseguire il seguente comando
$ screen -r <session_name>
Nell’esempio precedente, dovrei eseguire questo comando per tornare alla mia sessione.
$ screen -r user-screen
Nota che puoi anche tornare alla tua sessione usando l’ID dello schermo all’estrema sinistra del comando ls.
$ screen -r 3600
Purtroppo, perderai tutte le tue modifiche visive e dovrai dividere nuovamente le tue finestre.
Tuttavia, con abbastanza pratica, potreste imparare le scorciatoie molto facilmente.
Bloccare la sessione dello schermo
A volte, potreste voler impedire ad altri utenti di interagire con la vostra sessione dello schermo.
Per bloccare il tuo schermo, premi “Ctrl + A” e poi “x”.
Per sbloccarlo, devi inserire la password dell’utente che possiede la sessione schermo.
Conclusione
Nel tutorial di oggi, hai imparato come puoi facilmente manipolare il comando screen su Linux al fine di creare ambienti di shell personalizzati all’interno di una shell comune.
Hai imparato che può essere usato su server remoti al fine di assicurarti di poter uscire dalla sessione e salvare comunque il tuo lavoro (se hai lunghi comandi in esecuzione in primo piano per esempio).
Se sei interessato all’amministrazione di sistema di Linux, abbiamo una sezione completa dedicata ad esso sul sito web.