GNU Screen è un multiplexer di terminale che permette di avere più sessioni di terminale all'interno del terminale principale.
Allora perché abbiamo bisogno di GNU Screen? – A volte potremmo dover affrontare alcuni problemi come la terminazione automatica delle connessioni ssh remote a causa di problemi di rete. Potrebbe essere doloroso se l'attività è in esecuzione nell'ambiente di produzione. Quindi, per gestire questo tipo di problemi, si consiglia una sessione dello schermo separata che non termina con la fine delle sessioni del terminale.
Nei sistemi Linux e Unix, abbiamo uno strumento multiplexer terminale chiamato screen che viene utilizzato per gestire le sessioni del terminale. In questo articolo tratteremo come utilizzare lo schermo GNU in Linux per gestire le sessioni del terminale mentre si lavora su attività importanti nei sistemi di produzione.
Installazione del comando GNU Screen
L'installazione del pacchetto schermo nel sistema Linux è semplice e facile. Alcuni dei moderni sistemi operativi sono dotati di applicazioni per lo schermo preinstallate. Esegui il comando seguente per verificare la disponibilità dello schermo.
$ screen --version
Uscita:
Screen version 4.08.00 (GNU) 05-Feb-20
Se ottieni altro output, non hai uno strumento per lo schermo disponibile sul tuo sistema. Esegui il comando seguente per installare il pacchetto schermo.
Ubuntu/Debian
$ sudo apt-get install screen -y
RHEL/CentOS
$ sudo yum installs screen -y // RHEL 7 $ sudo dnf install screen -y // RHEL 8
Schermata iniziale in Linux
Una volta completata l'installazione, esegui semplicemente la schermata dei comandi per avviare le sessioni dello schermo.
$ screen
Uscita:
Crea sessione schermo con nome
Usando il comando dello schermo seguito dall'opzione -S, puoi creare una sessione dello schermo con nome. In questo esempio, ho usato screen-linuxtechi come nome della sessione dello schermo. Puoi scegliere il tuo nome preferito.
$ screen -S screen-linuxtechi
Elenco dei parametri dello schermo
Lo schermo fornisce alcuni parametri e comandi utili. Per elencare i parametri disponibili, premere ctrl-a seguito da ? .
Nota: lo schermo usa il tasto ctrl+a come prefisso. Ad esempio, per visualizzare i parametri dello schermo è necessario premere ctrl e a insieme, rilasciare il tasto e premere il tasto ? . Allo stesso modo puoi usare altri parametri.
Uscita:
Elenca le sessioni dello schermo
Utilizzare il comando seguente per elencare le sessioni dello schermo disponibili.
$ screen -ls
Uscita
Disconnetti sessione schermo Linux
Una delle funzioni utili fornite dall'applicazione dello schermo è che puoi scollegare la sessione dello schermo e ricollegarla quando necessario. Per staccare la sessione dello schermo corrente, premi ctrl-a seguito da d.
Ricollega la sessione dello schermo di Linux
È possibile allegare nuovamente la sessione dello schermo separata utilizzando il comando dello schermo con l'opzione -r seguita dal nome della sessione dello schermo. Elenca la sessione dello schermo separata usando il comando screen -ls , trova il nome della sessione dello schermo e allega. In questo esempio ho allegato la sessione 25148.pts-0.LinuxTechi
$ screen -ls $ screen -r 25148.pts-0.LinuxTechi
Le sessioni dello schermo possono essere ricollegate utilizzando solo l'ID dello schermo o il nome dello schermo. Nell'esempio sopra, 25148 è l'ID e pts-0.LinuxTechi è il nome della schermata 25148.pts-0.LinuxTechi.
$ screen -r 25148 $ screen -r pts-0.LinuxTechi
Schermo Linux diviso in Windows
A volte potrebbe essere necessario dividere le finestre dello schermo in più schermi per eseguire diverse attività. La divisione può essere eseguita sia orizzontalmente che verticalmente.
Verticale
Per dividere verticalmente le finestre dello schermo di Linux, fai clic su ctrl-a seguito da | . Ripetendo lo stesso processo, puoi dividere n numeri di finestre dello schermo.
Orizzontale
La divisione orizzontale delle finestre dello schermo può essere eseguita facendo clic su ctrl-a seguito da S (Maiuscolo). Ripetere la stessa procedura per creare n numero di finestre verticali.
Crea un nuovo terminale in una sessione divisa
Sia che tu divida lo schermo orizzontalmente o verticalmente, non creerà alcun nuovo terminale. Per creare il nuovo terminale sullo schermo, devi passare a nuove finestre con schermo diviso usando ctrl-a seguito da Tab. Ora premi ctrl-a e c (minuscolo) per creare un terminale.
Finestre a schermo non suddivise
Per separare le finestre dello schermo diviso, puoi semplicemente applicare ctrl-a con il tasto Q
Sessioni blocco schermo
Per proteggersi da accessi non autorizzati, le sessioni dello schermo possono essere bloccate senza bloccare gli utenti della sessione normale. Per bloccare lo schermo del terminale, utilizzare il comando ctrl-a seguito dal tasto x (minuscolo) . Ti verrà chiesto di impostare la password, applicare la password di protezione e basta.
Trova i proprietari delle sessioni dello schermo
Screen memorizza le informazioni sulle sessioni dello schermo aperte nella directory /var/run/screen. Elenca i contenuti archiviati all'interno della directory per trovare il proprietario dello schermo.
$ ls -ltr /var/run/screen
Uscita:
Termina le sessioni dello schermo
Una volta completata l'attività, è possibile distruggere le sessioni dello schermo utilizzando il comando ctrl-a seguito da k . Ti verrà richiesta la conferma dell'utente, digita y per terminare la sessione.
Accesso alla pagina di aiuto dello schermo
Esegui il comando seguente per accedere alla pagina della guida dello schermo
$ screen --help
Eseguire il comando seguente per accedere alla pagina del manuale utente dello schermo.
$ man screen
Alcuni utili parametri dei comandi a schermo
- Ctrl-a +c => Crea una nuova finestra dello schermo con il terminale
- Ctrl-a + ? => Elenca i parametri dello schermo
- Ctrl-a + A => Rinomina la finestra dello schermo corrente
- Ctrl-a + tab => Passa alla finestra successiva
- Ctrl-a + S => Dividi la finestra orizzontalmente
- Ctrl-a + | => Dividi la finestra verticalmente
- Ctrl-a + d => Stacca lo schermo
- Ctrl | d => Termina lo schermo
Conclusione
In questo articolo abbiamo appreso diversi comandi dello schermo di gnu per gestire le sessioni del terminale Linux. Se hai suggerimenti e feedback, lascia un commento qui sotto.
Lettura consigliata :Scopri come registrare e riprodurre l'attività delle sessioni del terminale Linux