Come utilizzare il multiplexer terminale dello schermo in Linux

0
192

Vuoi eseguire più sessioni di schermo virtuale da un'unica console terminale? O evitare che la connessione Internet interrompa la sessione della console tramite SSH? Se è così, dai il benvenuto al multiplexer del terminale GNU Screen nel tuo set di strumenti oggi!

Utilizzo dell'utilità GNU Screen

L'utilità GNU Screen per Linux è un multiplexer dello schermo versatile che ti consente di avviare più sessioni di schermo virtuale (pensa a loro come finestre di console aggiuntive) dall'interno della tua attuale sessione di terminale!

Iniziare è facile. Puoi installare lo strumento GNU Screen usando sudo apt install screen dalla riga di comando del tuo terminale:

Se stai usando un sistema operativo basato su RedHat/RPM, sostituisci `apt` con `yum` nel comando sopra.

Per aprire una nuova console virtuale, ora puoi digita semplicemente screen e premi invio, che ti presenterà una schermata iniziale:

Pubblicità

Premi spazio o Invio per chiudere la schermata iniziale. Il prompt dei comandi sembrerà tornare, ma in realtà ora sei all'interno di una sessione di schermo virtuale. Consideralo come una sessione terminale alternativa, in esecuzione all'interno della precedente sessione terminale.

Una delle grandi cose dello schermo GNU è che anche se la sessione del terminale principale/genitore dovesse in qualche modo fallire o andare in crash (ad esempio a causa di una connessione di rete persa), e anche quando chiudi o termini la sessione del terminale principale/genitore, questo la sessione dello schermo rimarrà attiva e funzionante!

È facile verificare se siamo attualmente all'interno di una sessione dello schermo o meno:

Questa istruzione if verifica se la variabile $STY è impostata o meno. Se la variabile d'ambiente $STY è impostata, allora questa è una sessione dello schermo.

Quindi, come torniamo alla nostra sessione del terminale principale/genitore? Questo può essere fatto usando una combinazione di tasti che lo schermo GNU ascolterà in background. Premi semplicemente CTRL+A > CTRL+D. Non importa se rilasci o meno il tasto CTRL mentre lo fai.

Vedrai qualcosa di simile a questo output:

Questo ci dice anche che ci siamo solo staccati dalla sessione dello schermo virtuale GNU – non è terminato e se vogliamo possiamo riconnetterci ad esso. Anche se per qualche motivo la sessione principale/genitore fosse stata chiusa, la sessione dello schermo virtuale non sarebbe terminata e possiamo riconnetterci nuovamente ad essa.

Annuncio

Per riconnetterci alla sessione, possiamo emettere un semplice comando:

La conferma di questo comando ci riporterà semplicemente alla sessione dello schermo virtuale che avevamo in esecuzione. Si noti che abbiamo utilizzato l'ID processo pertinente (come riportato quando ci siamo scollegati dalla sessione dello schermo) per riconnetterci con la sessione dello schermo virtuale. Questo chiarisce anche immediatamente come possiamo avviare una quantità indefinita di sessioni di schermo (sebbene ognuna consumerà una certa quantità di risorse) e connetterci a quella che ci piace usando il comando screen -d -r.

Noi puoi leggere di più sulle opzioni che abbiamo usato per questo comando nel manuale in linea dello schermo:

< /p>

Per una panoramica più ampia dello schermo e delle sue numerose funzionalità, puoi utilizzare il comando man screen:

Se vogliamo vedere un elenco di sessioni schermo che sono in esecuzione sulla macchina in questo momento, possiamo dare un comando screen -list:

Nota come la sessione viene segnalata come ‘Detached’ o ‘In allegato’ a seconda che tu sia ancora connesso da qualche parte o meno.

Pubblicità

A volte potresti voler tornare indietro all'interno di una sessione dello schermo, ad esempio quando sono state generate più righe di output rispetto al numero di righe disponibile nella dimensione della finestra del terminale. Ci si aspetterebbe che sia facile come usare il mouse per scorrere su e giù, ma non lo è.

Invece, puoi utilizzare una combinazione di tasti CTRL+ESC per abilitare la modalità di copia (sebbene non venga eseguita alcuna copia effettiva se esegui solo lo scorrimento), e ora il tuo mouse, così come i tasti cursore standard su/giù funzioneranno correttamente. Quando hai finito di guardare (e/o copiare se vuoi, ad esempio con il mouse selezionando e copiando normalmente), premi semplicemente il tasto ESC di nuovo per uscire dalla modalità di copia.

Alle volte un programma in esecuzione all'interno di uno schermo può bloccarsi, ad esempio, a causa di un errore del programma o di memoria o disco. Se ciò accade, lo schermo mostrerà come ‘Dead’ nell'output dell'elenco a schermo:

A quel punto, possiamo cancellare la sessione dello schermo morto emettendo un comando screen -wipe:

In questo articolo, abbiamo esplorato come installare l'utility per lo schermo GNU, come avviare una nuova sessione di schermo virtuale utilizzando la stessa e come scollegarsi e ricollegarsi a una sessione di schermo esistente. Infine, esaminiamo come scorrere le sessioni dello schermo e come gestire le sessioni dello schermo morto.