L'utilizzo delle interfacce grafiche ha fatto in modo che la gente veda nei PC uno strumento più familiare e certamente più comodo da usare. D'altra parte però è bene puntualizzare che spesso questo venire incontro alle esigenze di chi era spaventato da tutto ciò che avesse a che fare con una tastiera ha portato a una maggiore complessità del software, alla necessità di macchine più potenti e a una conseguente minore flessibilità e velocità di esecuzione di molte operazioni.
Linux dà la possibilità, a chi lo voglia, di continuare a utilizzare la shell in tutta la sua potenza, senza trascurare chiunque ami fare ogni cosa a colpi di click. Inoltre X fornisce agli utenti Unix funzionalità tipiche di un sistema operativo per le reti. È possibile infatti lanciare delle applicazioni su un PC della propria LAN e visualizzarne l'output su un altro. Cose analoghe a dire il vero sono possibili anche con Windows, grazie all'uso di programmi come VNC. Al contrario di X, disponibile anche per i sistemi operativi Microsoft, VNC non vincola la visualizzazione a ogni singola applicazione, e cosa molto interessante, non è vincolato al sistema operativo.
VNC, acronimo di Virtual Network Computing, è un sistema multipiattaforma progettato dai laboratori di ricerca della Olivetti (ora assorbiti dalla AT&T) per l'utilizzo delle interfacce grafiche da remoto. Quello che vi permette di fare VNC è semplice: "proietterà" il vostro desktop su un PC di una rete, sia essa una Lan o Internet, tramite un sistema di tipo client/server. Il funzionamento è semplicissimo: basterà configurare e lanciare il programma server sul computer il cui desktop vorremo far visualizzare su una macchina lato client che utilizzerà un'apposito programma.
Come è stato già detto, VNC è in grado di funzionare su praticamente tutte le piattaforme più utilizzate e in particolare su: Windows 9x, NT, 2000 e XP, Linux, Solaris, BSD e Mac. Dal lato client è disponibile anche un programma in Java, che ne rende possibile l'utilizzo praticamente ovunque.
Se disponete di una LAN con un PC con sistema operativo Windows potrete quindi con facilità utilizzarlo da remoto, dando contemporaneamente la possibilità a Linux di "eseguire" programmi per altri sistemi operativi. In realtà non verranno eseguite da Linux, ma ne verrà visualizzato soltanto l'output, i programmi gireranno su un PC con Windows, che deve comunque esserci. Ma con VNC anche Linux può essere "esportato" su Windows o su Mac, o su qualsiasi altro sistema operativo che lo supporti come client (e sono veramente tanti).
Vediamo ora come configurare VNC, il suo sito di riferimento è http://www.uk.research.att.com/vnc . Supporniamo ora di voler installare un server VNC su un PC con Windows e di voler usare Linux come client. Dovremo scaricare quindi il programma per entrambi i sistemi operativi, che conterrà gli eseguibili sia per il client che per il server.
Andiamo quindi su http://www.uk.research.att.com/vnc/download.html e scegliamo la versione per Windows e Linux. Una volta finito il download decomprimiamo il file e installiamo il server sul PC con Windows (lanciando setup.exe nella directory winvnc). Una volta installato lanciate l'applicazione server (WinVNC) e configuriamolo. Vediamo quindi di chiarire un pò le idee sul significato delle opzioni disponibili:
Accept Socket Connections abilita o disabilita la comunicazione tra il client e il server. Se vogliamo che VNC funzioni, deve essere abilitata.
Display Number indica il display da utilizzare per la connessione. Per distinguere le varie sessioni di VNC, ogni connessione viene aperta su una porta diversa, la 580X dove X è il Display Number. Auto è una buona scelta.
Password vi permettere di scegliere la password che vi verrà chiesta quando proverete a collegarvi con il client.
Disable Remote Keyboard & Pointer e Disable Local Keyboard & Pointer disabilitano l'input da tastiera e mouse rispettivamente sul client e sul server.
Le restanti opzioni invece servono a ottimizzare la trasmissione e vi permettono di ottenere un buon rapporto qualità video - banda utilizzata. Abilitando la prima Poll Full Screen ogni volta che cambierà qualcosa sullo schermo verrà aggiornato tutto, non soltanto la parte modificata. Di fatto rende tutto più fluido, ma la banda occupata per la trasmissione dell'immagine dello schermo non è indifferente.
Se avete intenzione di utilizzare VNC all'interno della LAN non dovreste comunque avere problemi. Poll Foreground Window e Poll Window Under Cursor fanno aggiornare soltanto rispettivamente la finestra attiva sul server e quella sotto il cursore. Poll Console Windows Only fa aggiornare soltanto le finestre di MS-DOS, mentre Poll On Event Received Only fa in modo di far aggiornare l'immagine solo se sono stati ricevuti dei segnali da tastiera e mouse.
Una volta configurato il server, non ci rimane altro che lanciare il client su Linux. Nel file .tgz scaricato troveremo un eseguibile chiamato vncviewer, lanciamolo (possiamo copiarlo in /usr/bin o in un'altra directory del PATH) in un terminale sotto X, inseriamo l'host al quale collegarci e quindi la password scelta quando abbiamo configurato il server. Se tutto è andato per il verso giusto ci ritroveremo ora il nostro desktop Windows pronto per interagire con noi.
Ovviamente è possibile invertire le parti e far visualizzare un desktop Linux su una macchina Windows. Copiamo prima gli eseguibili del file .tgz scaricato e decompresso in una directory del PATH (ad esempio /usr/bin), lanciamo vncserver e successivamente vncpasswd per impostare la password. In questo caso verrà lanciata una sessione di X che sarà resa disponibile a VNC.
Se fosse già stato lanciato X il display utilizzato da VNC non sarà più :0, ma :1 o il primo disponibile, quindi quando vorrete collegarvi con Windows tenetelo bene a mente, perché in questo caso il modo di indicare il server è: IP:DISPLAY. Ad esempio se il display di VNC fosse impostato come :1, una volta lanciato il client (VNCviewer) di Windows dovremmo indicare l'host al quale connettersi (ad esempio 192.168.0.5) in questo modo: 192.168.0.5:1 .
Fatto questo inseriamo la password e godiamoci il nostro desktop con X.
Una delle differenze maggiori che vi è tra VNC sotto Windows e quello sotto Linux è che nel primo caso ci si ritrova a condividere il desktop che è eseguito e visualizzato anche sul server, nel secondo Linux lancia una nuova sessione di X ed è lì che opereremo. Questo per i limiti che ha Windows per quel che riguarda la multiutenza.
VNC è uno strumento molto potente e versatile, che oltre a dare a Windows la possibilità di essere utilizzato da remoto (cosa nella quale questo sistema operativo è abbastanza carente, almeno per quel che riguarda le versioni "home"), permetterà agli amanti del Pinguino di ridurre Windows a una finestra. Il tutto con costi nulli.