LINUX

Come utilizzare il comando screen di Linux su SSH in remoto

Quando usi il comando ssh, ti dà solo una schermata (terminale). Se perdi quella schermata, perderai tutto ciò che stavi facendo sul computer remoto. A volte succede quando un problema di rete interrompe la connessione ssh e perdi ciò che stavi facendo e devi riconnetterti nuovamente al server remoto. Questo può essere molto brutto se sei nel mezzo di qualcosa di importante. Ad esempio, se vuoi fare tre cose contemporaneamente, come “vi httpd.conf”, “tail -f /var/log/messages” e “service httpd reload”, devi aprire tre sessioni ssh separate.

L’utilità dello schermo GNU è un multiplexer di terminale. Se sei un amministratore di sistema che lavora su server remoti, screen è un ottimo strumento per gestire un computer remoto con solo un’interfaccia a riga di comando disponibile. Ti consente di disconnetterti e quindi accedere nuovamente alla stessa sessione dello schermo in un secondo momento.

È installato per impostazione predefinita in Ubuntu, per il sistema basato su RHEL è possibile installare lo schermo utilizzando il comando yum

# yum install screen

Per utilizzare lo schermo, immetti il ​​seguente comando:

$ screen

Potresti vedere un messaggio di benvenuto se è lì e poi vedere un normale prompt di bash nella finestra. Per controllare lo schermo, premere il tasto Ctrl+a combinazione di tasti, seguita da un’altra sequenza di tasti.

Per esempio, Ctrl+a seguito da ? (indicato come Ctrl+a, ?) visualizza la schermata della guida.

Di seguito sono riportati alcuni comandi e tasti di controllo che è possibile utilizzare per azionare lo schermo.

Tasti di controllo dello schermo

$ screen -ls
There is a screen on:
7089.pts-1.server10 (Attached)
1 Socket in /var/run/screen/S-francois.

Change window title
$ Ctrl+a, a
Set window's title to: My Server10

Create a new window
$ Ctrl+a, c

Show active window titles
$ Ctrl+a, "
Num Name Flags
0 My Server Up/down arrows change windows
1 bash

Detach screen from terminal

$ Ctrl+a, d

La sessione dello schermo mostrata sopra ha portato alla creazione di due finestre (ciascuna con una shell bash). Puoi crearne quanti ne vuoi e nominarli come preferisci. Inoltre, invece di staccarti dalla sessione dello schermo, potresti semplicemente chiuderla uscendo dalla shell in ogni finestra aperta (digita exit o Ctrl+d).

Riconnessione a una sessione dello schermo

Quando la sessione dello schermo viene scollegata, tornerai alla shell che era aperta quando ti sei connesso per la prima volta al server. Puoi tornare a quella schermata in un secondo momento (anche dopo esserti disconnesso e disconnesso dal server). Per riconnettersi quando la schermata singola è in esecuzione, inserire quanto segue:

$ screen -r

Se sono in esecuzione più sessioni dello schermo, screen -r non funzionerà. Ad esempio, questo mostra cosa succede quando sono in esecuzione due sessioni di schermate separate:

$ screen -r
There are several suitable screens on:
2242.pts-4.server10 (Detached)
3354.pts-4.server10 (Detached)

Type "screen [-d] -r [pid.]tty.host" to resume one of them.

As the output suggests, you could identify the screen session and select which screen you want to connect to:

$ screen -r 2242.pts-4.server10

Schermata del nome delle sessioni

Invece di utilizzare i nomi predefiniti, puoi creare nomi più descrittivi per le sessioni dello schermo quando avvii screen.

Per esempio:

$ screen -S testsession
$ screen -ls
There is a screen on:
26523.testsession (Attached)

Sessioni di condivisione dello schermo

Queste sono cose molto importanti per gli amministratori di sistema. Il comando screen consente anche la condivisione dello schermo. Questa funzione è ottima per il supporto tecnico perché chiunque abbia effettuato l’accesso alla sessione può digitare e visualizzare la sessione corrente. La creazione di una schermata con nome, come nella sezione precedente, semplifica l’operazione. Quindi un’altra persona su un computer diverso può inviare ssh al server (utilizzando lo stesso nome utente) e digitare quanto segue:

$ screen -x testsession

Come con screen -rse c’è una sola schermata in esecuzione, non è necessario specificare a quale schermata ci si sta connettendo:

$ screen -x

Quale strumento usi per la connessione remota oltre al comando dello schermo? Per favore, lascia i tuoi commenti

Leggi anche:

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close