Immagino che lo sappiate tutti:siete connessi al vostro server con SSH e state compilando del software (ad esempio un nuovo kernel) o svolgendo qualche altra attività che richiede molto tempo, e improvvisamente la vostra connessione si interrompe per qualche motivo, e perdi il tuo lavoro incompiuto. Questo può essere molto fastidioso, ma fortunatamente esiste una piccola utility chiamata schermo che ti consente di ricollegarti a una sessione precedente in modo da poter completare il tuo compito. Questo breve tutorial mostra come utilizzare lo schermo proprio per questo scopo.
1 Installazione del comando screen
L'installazione dello schermo è molto semplice. Su Debian, esegui:
apt-get install screen
Per Ubuntu, usa il comando con sudo:
sudo apt-get install screen
E per Fedora, CentOS, SuSE e Mandriva ci sono anche pacchetti schermo che puoi installare con yum/yast/urpmi/...
Fedora e CentOS
yum install screen
2 Utilizzo del comando schermo
Con lo schermo puoi creare una o più sessioni nel tuo attuale terminale SSH. Corri
screen
per avviarlo. Questo crea una sessione dello schermo o una finestra (anche se non la vedi come tale) nel tuo attuale terminale SSH:
Premi Spazio o Invio per arrivare al prompt dei comandi:
Assomiglia al tuo normale terminale SSH, vero?
Ora descriverò i comandi dello schermo più importanti di cui hai bisogno per controllare lo schermo. Questi comandi iniziano con CTRL a per distinguerli dai normali comandi della shell.
- Ctrl a c - Crea una nuova sessione dello schermo in modo da poter utilizzare più di una sessione dello schermo contemporaneamente.
- Ctrl a n - Passa a n sessione dello schermo est (se ne usi più di uno).
- Ctrl a p - Passa a p sessione dello schermo precedente (se ne utilizzi più di una).
- Ctrl a d - Scollega una sessione dello schermo (senza terminare i processi in essa contenuti - continuano).
Per chiudere una sessione dello schermo in cui tutte le attività sono terminate, puoi digitare
exit
Ora giochiamoci un po'. Nella nostra finestra dello schermo, eseguiamo il comando
top
Questo dovrebbe assomigliare a questo:
Ora creiamo un'altra sessione dello schermo digitando
Ctrl a c
Si apre una nuova sessione con schermo vuoto e si avvia
tail -f /var/log/mail.log
per dare un'occhiata al nostro registro di posta:
Ora puoi sfogliare le tue sessioni su due schermi eseguendo
Ctrl a n
o
Ctrl a p
Per staccare una sessione dello schermo e tornare al tuo normale terminale SSH, digita
Ctrl a d
Tornando al tuo normale terminale SSH, puoi eseguire
screen -ls
per ottenere un elenco delle sessioni dello schermo correnti:
There are screens on:
2477.pts-0.server1 (Detached)
2522.pts-0.server1 (Detached)
2 Sockets in /var/run/screen/S-root.
Per riconnetterti a una di queste sessioni, esegui
screen -r 2477.pts-0.server1
dove 2477.pts-0.server1 è il nome di una delle sessioni dall'output di screen -ls.
Per uscire e terminare una sessione dello schermo, completa tutte le attività correnti al suo interno (la parte superiore può essere completata digitando q, tail -f /var/log/mail.log può essere completata digitando CTRL c) e quindi digita
exit
Tornerai quindi a un'altra sessione dello schermo (se ne utilizzi più di una) o al normale terminale SSH, se non sono aperte più sessioni dello schermo.
Se vuoi saperne di più sullo schermo, esegui
man screen
3 La mia connessione è interrotta:cosa posso fare?
Ora supponiamo che tu compili un kernel in una sessione dello schermo, cosa che normalmente richiede molto tempo, e improvvisamente la tua connessione si interrompe. Grazie allo schermo il tuo lavoro non è perso. Una volta eseguito il backup della connessione, accedi nuovamente al tuo sistema con SSH ed esegui
screen -ls
come mostrato nel capitolo 2. Dai risultati, scegli una sessione (ad es. 2477.pts-0.server1) e ricollegala:
screen -r 2477.pts-0.server1
Se hai scelto la sessione giusta, dovresti trovare il tuo kernel ancora in fase di compilazione (se nel frattempo non è terminato) in modo da poter continuare il tuo lavoro.
4 link
- schermo:http://www.gnu.org/software/screen