VNC 3.3.6 Virtual Network Computing
Tutorial Multipiattaforma – Il sistema per l’utilizzo di interfacce grafiche da remoto, multipiattaforma, facile, veloce e gratuito.
Uno dei problemi da parte di chi gestisce reti di calcolatori collegati in internet, è stato sempre quello di gestire ed amministrare qualunque computer appartenente alla rete in remoto.
A questa funzionalità e ad altre, come la necessità di accedere a Linux da Windows o Mac, è dedito Vnc.
Vnc: Introduzione
Vnc è l’acronimo di Virtual Network Computing ed è stato sviluppato dai laboratori di ricerca della Olivetti, ora assorbiti dal colosso delle comunicazione AT&T di Cambridge. Si tratta di un software semplice, totalmente gratuito freeware, con la fondamentale caratteristica di essere multipiattaforma: è infatti distribuito non solo in versione Windows, ma anche in versione Unix/Linux e MAC. Comunque i sistemi operativi supportati, sono tanti: Unix, Mac, Solaris, NT, Windows, CE ed esistono anche versioni non ufficiali per Dos, Amiga e alcuni palmari.
Dal lato client è disponibile anche un programma in Java, che ne rende possibile l’utilizzo praticamente ovunque.
A dire il vero, un software simile viene offerto anche da Linux, X. Con X è possibile infatti aprire delle applicazioni su un PC della propria LAN e visualizzarne l’output su un altro. A differenza di X però, Vnc non vincola la visualizzazione a ogni singola applicazione e in particolar modo, non è vincolato al sistema operativo. VNC consente di controllare tutto il servente grafico e il gestore di finestre relativo ed inoltre, permette anche un accesso simultaneo da parte di più elaboratori remoti, per consentire la visualizzazione di ciò che avviene.
VNC utilizza un sistema di tipo client/server e comprende infatti due distinti pacchetti di installazione. Installando il server su una macchina sarà possibile poi collegarsi ad essa con il pacchetto client, ed eseguire tutte le operazioni che si ritengono necessarie. Il funzionamento è semplicissimo.
VNC è anche utile se si ha la necessità di accedere al desktop di Linux da Windows. Se fate girare il server VNC sulla macchina Linux e il client VNC in Windows, potrete avere la login grafica (xdm,kdm…) di Linux direttamente da Windows.
VNC è reperibile sul sito: http://www.uk.research.att.com/vnc/download.html.
Qui potete scaricare sia la versione per Linux, che quella per Windows.
Il sito ufficiale è www.realvnc.com
Installazione per Windows
Analizziamo ora l’installazione su Windows.
Una volta finito il download decomprimiamo il file e installiamo il server sul PC (lanciando setup.exe nella directory winvnc). Una volta installato lanciate l’applicazione server (WinVNC) e configuriamolo.
FIGURA 1: configurazione
Da qui potete scegliere quali opzioni attivare:
– Accept Socket Connections: con questa funzione si abilitano le connessioni sul server, per cui dobbiamo abilitarla se vogliamo che tutto funzioni.
– Password: questo campo è di fondamentale importanza per evitare il rischio di perdere il controllo della macchina. La password vi viene richiesta ogni qualvolta vi collegherete.
– Display Number: indica il display da utilizzare per la connessione.
– Enable Java Viewer: permette, se abilitata, di collegarsi sul server attraverso un browser con java.
– When Last Client Disconnects con questa funzione si può decidere cosa farà il Server alla fine della connessione:
Do Nothing: Non fare nulla
Lock Workstation: Blocca la stazione di lavoro
Logoff Workstation: Disconnette l’ultimo utente.
– Disable Remote Keyboard & Pointer e Disable Local Keyboard & Pointer: servono a disabilitare l’input da tastiera e mouse sul client e sul server.
Le altre opzioni ottimizzano i collegamenti e consentono di avere una buona qualità video-banda.
– Poll Full Screen: è una funzione che aggiorna tutto, quando verrà modificato lo schermo.
– Poll Foreground Window- Poll Window Under Cursor: con questa funzione viene aggiornata solo la finestra attiva sul server e quella sotto il cursore.
– Poll Console Windows Only: serve ad aggiornare esclusivamente le finestre di MS-DOS.
– Poll On Event Received Only: aggiorna lo schermo solo se sono stati ricevuti dei segnali da tastiera e mouse.
Ora abbiamo terminato l’istallazione di VNC sul terminale che fa da Server. Lo dobbiamo ora installare anche sul client.
Per accedere alla macchina remota sulla quale avete installato il server di VNC, è sufficiente il programma “client” vncviewer.exe.
Apparirà quindi la seguente schermata:
FIGURA 2: Prima finestra per installare VNC sul client
Nella casella VNC Server dobbiamo necessariamente specificare il nome della macchina a cui si desidera accedere oppure il suo indirizzo IP.
Premendo sul tasto Options potremo personalizzare alcuni parametri, come l’attivazione per il funzionamento del 3° pulsante del mouse ecc…
FIGURA 3: Campo opzioni della prima finestra.
Impostate le opzioni di collegamento e indicata la macchina server a cui ci dobbiamo collegare, premiamo il tasto OK e colleghiamoci al Server, inserendo prima la password.
FIGURA 4: AUTENTICAZIONE
Ora se abbiamo impostato tutto correttamente, si aprirà la finestra del pc Server al quale desideriamo collegarci.
FIGURA 5: DESKTOP DEL PC SERVER
La visualizzazione, quando la diversità di risoluzione tra i due sistemi del PC è molto diversa, potrebbe essere non ottimale. Per una migliore visualizzazione e per un maggiore controllo, bisogna assicurarsi che i due terminali abbiano almeno la stessa risoluzione Video al momento della connessione.
INSTALLAZIONE PER LINUX
L’installazione di VNC su Linux, è molto meno complicata di quanto si possa immaginare. Infatti, al contrario di molti programmi, anche semplicissimi, che hanno bisogno di essere compilati e a volte anche di fastidiosi settaggi, VNC è composto solo da alcuni file binari da eseguire.
Abbiamo già detto che VNC si compone di una parte client e di un lato server. Quando siamo in ambiente linux, il lato server è uno Unix VNCserver chiamato Xvnc che si avvierà parallelamente al nostro server grafico.
Scompattando il pacchetto “tgz” per Linux troviamo questa lista di file:
– LICENZE.TXT: il testo della licenza GPL (Gnu Public License)
– VNCVIEWER: un visore VNC o un programma client per X.
– XVNC: questo è allo stesso tempo un Xserver ed un VNC server che viene lanciato dallo script vncserver.
– CLASSES: una cartella che contiene i classes file per l’ uso di java nel client.
– VNCPASSWD: un programma che viene richiesto quando lanciamo per la prima volta vncserver e ci consente di cambiare la password.
– VNCVIEWER: un file di risorse
– VNCSERVER: uno script in Perl che consente di lanciare e gestisce il server.
Per lanciare il programma bisognerà semplicemente inserire questi file nella PATH di sistema. Se non siete a conoscenza della vostra path di default, potete avviare una console e digitare
#echo $PATH
Tale comando vi fornirà un elenco di tutte le cartelle contenute nella path di Linux. Il passo successivo è copiare tutti i file nella cartella (ad esempio)
/usr/local/bin
Ovviamente se questa cartella non è contenuta nella vostra path, potete sostituirla con un’altra cartella.
Superata questa fase possiamo facilmente avviare il servizio.
Da qualsiasi posizione sull’hard disk, richiamiamo VNCSERVER, che può essere lanciato anche indicando il numero di display.
Per la prima volta verrà richiesta la password di amministrazione.
Il server è ora pronto per ricevere delle richieste di collegamento dai clients.
Per collegarsi al server, dovremo lanciare il VNC client su un altro terminale e successivamente digitare l’indirizzo IP del server vnc e il numero di display.
Possiamo ora gestire da remoto quel terminale.
Ricordate che la sessione VNC su Unix e Linux resta attiva anche dopo che chiudete il client e vi disconnettete. Per chiudere la sessione definitivamente dovete killare, cioè usare il comando:
vncserver -kill :n
dove “n” è il numero del vostro display.
TIPI DI VNC: QUANTI CE NE SONO?
La disponibilità dei sorgenti ha causato la molteplicità di distribuzioni.
Riportiamo qui le principali versioni di VNC:
– VNC(versione originale): Quella inizialmente creata dalla Olivetti e assorbita dai laboratori AT&T. Si tratta della versione base, alla quale fanno riferimento tutte le altre.
– REALVNC: E’ una versione notevolmente migliorata che comprende anche una funzione “encoding” per le connessioni lente. Non supporta comunque il Tight Encoder, che a detta di molti è il migliore quando la banda è poca.
– TIGHTVNC: Si tratta di un VNC con Tight Encoder. E’ stato creato da Constantin Kaplinsky per comprimere i dati inviati nel collegamento e ridimensionare la richiesta di banda. Ultimamente è stata annunciata una nuova versione che apporterà numerosi miglioramenti.
– Vdacc VNC: E’ l’acronimo di “Video Driver ACCelerated VNC”. È una versione sviluppata nell’intento di rendere i collegamenti ancora più veloci. Infatti, la cattura dello schermo avviene a livello del driver della scheda video. In tal modo c’è una notevole riduzione dei tempi. Un’altra novità introdotta da questa versione, è la possibilità di condividere via internet anche una sola applicazione invece dell’intero desktop.
– eSVNC: La prima versione risale a giugno 2002 ed è stata creata da Samuel Folliard. Ha i vantaggi di ridurre la quantità di dati da trasmettere via internet, tramite il ridimensionamento della risoluzione dello schermo remoto e la possibilità di trasferire dei files tra le finestre del client e del server. Attualmente esiste solo per Windows.
– Ultr@VNC: una nuova versione ancora non ufficiale che incorpora le migliori prestazioni di tutte le versioni precedentemente elencate e probabilmente ne avrà delle altre.
Altre versioni sulle quali non ci soffermeremo, ma che comunque meritano di essere citate, sono: TridiaVNC, uVNC, PalmVNC,VNCviewer for PocketPC …
PRO E CONTRO
Esaminiamo ora in maggior dettaglio gli aspetti postivi e negativi di VNC.
La versione Windows di VNC risalta inevitabilmente per la sua versatilità, semplicità d’installazione e d’uso. I vantaggi, come possiamo ben intuire, sono notevoli.
Altri vantaggi che accomunano le differenti versioni sono:
– L’essere multipiattaforma
– E’ un software estremamente compatto, che occupa pochissimo spazio
– Non è invasivo, non viene cioè apportata alcuna modifica al sistema
– Il client ha anche una versione in Java, per cui ci si può collegare da qualsiasi terminale dotato di una Java Virtual Machine
– Essendo open source, sono disponibili i sorgenti
– E’ completamente gratuito
C’è però, come in tutte le cose, anche il rovescio della medaglia.
Un difetto, derivante dal fatto del suo essere multipiattaforma, si riscontra nelle prestazioni: infatti, poiché la quantità di dati nel collegamento è molto grande, se non si è dotati di una connessione molto veloce, il sistema diventa quasi inutilizzabile.
Un altro aspetto al quale dobbiamo fare molta attenzione è la sicurezza.
La password iniziale, quella che viene richiesta all’inizio della connessione non viene inviata in chiaro, ma la connessione procede in chiaro e quindi potrebbe essere intercettata. (Ciò è più rischioso se distrattamente dovessimo rimanere loggati al server.) Si consiglia in ogni caso di non scegliere una password banale, che potrebbe essere facilmente scoperta.
Se teoricamente qualcuno riesca ed entrare dall’esterno, durante il collegamento, ci potremo comunque accorgere dal fatto che l’icona della Vnc nella tray area, cambia colore in presenza di una connessione attiva.
Un ulteriore accorgimento è di accertarvi che non ci sia nessuno che stia utilizzando l’host di collegamento, altrimenti entrerete in competizione per il controllo dello schermo, del mouse, della tastiera e delle varie applicazioni.
Se si pretende la massima sicurezza, conviene proteggere VNC con SSH, che fornisce garanzia di protezione durante l’intera durata di connessione.
…SSH: SICUREZZA CON VNC
Abbiamo già descritto i rischi di VNC. SSH è il metodo per collegarsi in estrema tranquillità.
SSH normalmente vi fornisce una ‘Secure Shell ‘, cioè una finestra di terminale per collegarvi ad una macchina remota. Tutto il traffico è cifrato fra le due macchine usando le tecnica di crittografia a chiave pubblica, rendendo davvero molto difficile per chiunque altro intercettare la comunicazione.
Non si può però considerare un’alternativa a VNC, poiché consente solo di aprire un terminale remoto in modalità a caratteri.
Esistono due programmi in grado di funzionare da server SSH:
– “SSH”, che è gratuito solo nella versione per Unix
– “OpenSSH” ed è totalmente gratuito per ogni piattaforma
Siti utili per informazioni e download sono:
www.ssh.com
www.openssh.org