2010-12-24

Screen utility per condivisione shell


screen è un utility che ricordo aver usato circa 25 anni or sono.
Si tratta di un comando che permette di attivare numerose sessioni contemporanee sulla stessa console, si passa da una sessione (che viene sospesa) ad un'altra e si riottiene la schermata che si aveva al momento in cui è stata sospesa.
L'intera sessione di lavoro può essere sospesa e ripresa in seguito riottenendo tutte le sessioni aperte.

Come dicevo ho utilizzato in passato screen lavorando con i vecchi terminali a carattere collegati tramite RS232, al tempo non utilizzavo ambienti grafici ed i terminali a disposizione non erano tanti, dato il costo. Avevo trovato utilissima la possibilità di passare da una sessione in cui editavo il codice, ad una in cui compilavo ad un'altra ancora in cui eseguivo il programma. Dopo i primi utilizzi ho iniziato ad utilizzare la funzionalità che permetteva di dividere lo schermo per visualizzare contemporaneamente più sessioni, chiaramente di dimensioni ridotte, questo aveva il pregio di non sospendere l'output a video dei programmi attivi nelle sessioni aperte.
I comandi erano comodi, con brevi combinazioni di tasti permettevano la creazione e gli spostamenti tra sessioni, di certo niente a che vedere con le funzionalità grafiche disponibili attualmente, dopo un medio periodo di rodaggio per memorizzare i tasti, l'utilizzo diventava rapido.

Dovendo lavorare con un collega con cui poter impartire insieme comandi da shell abbiamo utilizzato questa utility di cui mi ero quasi dimenticato l'esistenza.
La novità che ho appreso è la possibilità di utilizzare screen per condividere la sessione di lavoro come se fosse un "VNC dei poveri".
Il primo utente esegue
screen
, il contenuto della console viene rimosso, una nuova shell viene attivata ed il lavoro può iniziare. Il secondo utente, che per semplicità deve essere connesso con la stessa utenza di sistema, può richiedere la lista delle sessioni attive con il comando
screen -ls
ottenuto l'elenco può connettersi alla sessione di lavoro con il comando
screen -x <nome_sessione>
(dove <nome_sessione> corrisponde al nome visualizzato nell'elenco ottenuto con il comando precedente), il contenuto della console viene rimosso e compare il contenuto della sessione attivata dal primo utente.

Tutti i comandi vanno impartiti iniziando la sequenza di tasti con Ctrl-a e proseguendo con il tasto o i tasti associati alla funzione da eseguire, il primo comando da ricordare è sicuramente Ctrl-a ? che mostra l'aiuto in linea.

Prima di avventurarsi nell'utilizzo di questa utility consiglio di leggere un po' di documentazione per comprenderne il funzionamento, a tal proposito aggiungo il collegamento al sito ufficiale del progetto
ed uno ad un'ottima quick reference

Nessun commento:

Posta un commento