Présentation| Installation des binaires  | Configuration du serveur sous Windows (lancement du serveur , lancement du serveur en tant que service ) | Lancer le viewer (serveur UNIX, serveur Windows) , lancer le viewer en mode listen]

Dernière modification 31 mai 2004

VNC (Virtual Network Computing)

Présentation

VNC (Virtual Network computing) va vous permettre de prendre le contrôle à partir d'un poste sous UNIX de postes du réseau sous Windows NT4.0 ou 9X, mais aussi le contraire !
VNC est constitué d'un serveur et d'un visualisateur ou si vous préférez d'un server et d'un viewer. Le serveur va permettre d'exporter son affichage (display) vers d'autres postes, le visualisateur va pouvoir afficher l'écran d'un serveur. Ca marche très bien pour des plateformes UNIX, mais aussi pour un serveur UNIX et un visualisateur Windows, mais aussi le contraire, l'important est qu'il communique par TCP/IP.
Par la suite on appelera indéféremment viewer et visualisateur.
On appellera le serveur UNIX obelix, le serveur Windows tavel et un client windows shuttle.

Pour plus d'info sur la config de VNC sur un poste linux, voir la page VNC dans ma section linux.

Un petit rappel :  le serveur est la machine qui va exporter son écran vers les clients (viewer), chaque utilisateur d'une machine serveur peut lancer son propre serveur.

[Retour haut de la page]

Installation des binaires

On va récupérer VNC à l'URL http://www.realvnc.com,  personnellement j'ai récupéré vnc-3.3.7-x86_win32.exe. C'est un assistant d'installation, en l'exécutant, on passe par les étapes suivantes:
- Etape 1: Voulez vous vraiment installer VNC ?
- Etape 2: Informations de licence,
- Etape 3: Choix du chemin d'installation,
- Etape 4: Type d'installation, par défaut Full Installation (installation complète), vous avez sinon Compact Installation (Installation compact) et Custom Installation (installation personnalisée)
- Etape 5: Raccourci menu,
- Etape 6: Tâches supplémentaires à accomplir, dont
Création de raccourcis sur le bureau,
Enregistrement de VNC server comme un service.
- Etape 7: Résumé de l'installation et installation proprement dite
- Etape 8: Informations générales, fin de l'install

il va vous créer un répertoire RealVNC contenant vncviewer et le répertoire WinVNC, le premier étant le visualisateur et l'autre contient le serveur. Votre poste windows peut donc être à la fois viewer (client) et server (serveur) VNC.

[Retour haut de la page]

Configuration du serveur sous Windows

Lancement du serveur

Pour lancer le serveur, dans le menu Démarrer, choisissez donc Programmes->RealVNC->Run VNC Server, la fenêtre suivante apparaît:

saisissez un mot de passe, dans le champ Password et laissez les autres paramètres par défaut. C'est le mot de passe que les viewers devront utiliser pour pouvoir utiliser votre serveur.  Cliquez maintenant sur OK.

Une petite icôneVNC apparaît dans la barre des tâches (la première à partir de la droite). En cliquant dessus avec le bouton droit de la souris, vous avez le menu suivant.

En cliquant sur Properties vous réobtenez la fenêtre Current User Properties précédente. 


[Retour haut de la page]

Lancement du serveur en tant que service

Lancer  WinVNC comme un service permet  de lancer le serveur dès le lancement de windows et non pas au démarrage d'une session d'un utilisateur particulier. Un viewer pourra alors se connecter sur la machine serveur quand personne n'est logué dessus, cela permet aussi d'envoyer un Ctrl-Alt-Del au serveur, pour par exemple débloquer une session. Pour plus de détails reportez vous à la doc HTML que vous pouvez télécharger ou lire online sur le site de VNC.
A partir du menu Démarrer

Choisissez Programmes->RealVNC->VNC Server -> Register VNC Server Service, une fenêtre vous dit que l'installation s'est faite avec succés. Vous constaterez que l'icône VNC est apparue dans la barre des tâches . Pour fixer un mot de passe, cliquez sur l'icône avec le bouton droit de la souris. La fenêtre suivante apparaît:

Saisissez un mot de passe, c'est celui que les viewers devront utiliser pour pouvoir se connecter, vous pouvez laisser les autres paramètres par défaut.  A chaque reboot WinVNC sera automatiquement lancé. Vous devez rebooter le PC pour que WinVNC puisse se lancer, un moyen plus rapide consiste d'une fenêtre DOS à taper :

C:\> net start winvnc

Par la suite, pour accèder à la fenêtre de propriétés de WinVNC (Current User Properties), il suffira de cliquer sur l'icône avec le bouton droit de la souris. Et vous aurez le menu suivant:

On va installer WinVnc avec des paramètres de configuration qui seront communs à tous les utilisateurs du système, car pour l'instant les propriétés du serveur dépendent de l'utilisateur qui s'y connecte. Pour cela dans le menu Démarrer, on lancera:

Programmes->RealVNC->VNC Server-> Show Default Properties

Vous constaterez que seul l'intitulé change dans la barre de titre par rapport à la fenêtre précédente, donc le mot de passe et les paramètres saisis seront communs à tous les utilisateurs du système. Mais le soucis est que n'importe qui peut modifier ce mot de passe ou même arrêter le serveur tout cela en agissant sur le menu accessible par l'icône VNC de la barre des tâches. Pour empêcher cela il faudra trafiquer dans la base des registres. Pour cela lancez regedit (Démarrer->Exécuter...)
Dans le registre au niveau de :

Poste de travail\HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default

Les deux options intéressantes sont AllowShutdown et AllowProperties si ces deux valeurs sont fixées à 0, l'utilisateur sur le serveur ne pourra pas stopper WinVNC et ne pourra pas accéder aux propriétés. Pour cela vous allez rajouter une nouvelle valeur DWORD (Edition->Nouveau->Valeur DWORD) que vous appelerez AllowProperties, par défaut elle vaut 0, c'est ce qu'on veut, faites de même pour la valeur DWORD AllowShutdown que vous mettrez au même endroit du registre. Rebootez la machine, essayons d'accéder aux propriétés de WinVNC à partir de la barre des tâches, et voici le menu qu'on obtient:

L'utilisateur n'a donc plus possibilité d'éditer et encore moins de modifier les propriétés de WinVNC et ne peut le stopper, la commande Add New Client est utile pour un viewer lancé en mode listen (voir chapitre correspondant).

NOTE Si quelqu'un connaît l'astuce, à part patcher le code pour faire disparaître cette commande inutile, qu'il m'en fasse part.

Mais au juste quel est l'intérêt de mettre un mot de passe unique sur une machine serveur et d'interdire aux utilisateurs d'éditer les propriétés et de stopper le serveur ? L'intérêt est évident, en installant WinVNC sur tous les postes Windows de votre réseau, vous pourrez d'un unique poste (UNIX ou Windows), accéder à tous ces postes sans que les utilisateurs aient la possibilité de modifier les propriétés (et donc de changer le mot de passe par exemple) ou d'arrêter le serveur, Big Brother is watching you. C'est donc un excellent moyen pour pouvoir administrer à distance des postes windows.
Par ailleurs une fois connecté sur votre machine, la petite icône va virer au noir   un utilisateur pourra alors très bien "killer" le client et donc interrompre la connexion. Pour éviter ce genre de situation, le plus simple est de ne pas chercher à se connecter quand un utilisateur est logué sur la machine serveur,  pour cela dans la base des registres au niveau de:

Poste de travail\HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3

On va rajouter le DWORD ConnectPriority qu'on mettra à 0. Rebootez la machine, pour prendre en compte la modif. WinVNCn'acceptera pas les connexions ou les interrompera très vite si un utilisateur est déjà connecté sur la machine serveur (en fait il détecte si un utilisateur est déjà connecté au niveau de l'activité).
 

[Retour haut de la page]

Lancer le viewer

Serveur UNIX

On suppose que vous avez lancé le serveur sur un poste UNIX appelé obelix à l'écran 1, dans mon exemple j'utilise un poste linux sous Mandrake .

Il suffit de lancer l'exécutable vncviewer à partir du menu Démarrer, Programmes->Run VNC Viewer
 
 
Une fenêtre apparaît où vous devrez indiquer le nom de la machine serveur du display à afficher (obelix:1 dans notre exemple).
A noter que si vous oubliez le numéro de l'écran (:0), c'est 0 qui sera pris par défaut. 
 
     
Saisissez alors le mot de passe  
     
Voilà le résultat obtenu sous NT4.0.  Vous noterez que l'environnement graphique (KDE, CDE, Gnome, ...) n'est pas exporté par défaut, mais vous pouvez très bien lancer n'importe quelle appli X, ici dans l'exemple, c'est Gimp sous Linux qui est lancé.  
     
Pour exporter l'environnement graphique, voir la page VNC dans la section linux. Voilà ce que ça donne quand on exporte l'environnement KDE par exemple. Sachez que ça nécessite plus de ressources pour les deux machines (viewer et server).



Le même résultat mais sous Windows 95, avec le lancement de Kpackage (sans exportation de l'environnement graphique).  

[Retour haut de la page]

Serveur Windows

On suppose qu'on a lancé le serveur sous tavel à l'écran 0. Lancer VNC Viewer (Démarrer->Programmes->RealVNC->Run VNC Viewer) sur le client, au niveau de la fenêtre de saisie du nom de la machine (voir screenshot un peu plus haut), vous pouvez vous contenter de mettre le nom de la machine serveur, par défaut le système rajoutera :0.
 
 
Voici le résultat, viewer sous Win95 et serveur sous NT4.0.  
[Retour haut de la page]

Le viewer en mode listen

Prenons un serveur tavel et un viewer shuttle
Vous pouvez lancer le viewer en mode listen sur shuttle, pour cela dans le menu Démarrer

Programme->RealVNC->VNC viewer -> Run ListeningVNC viewer

Pas de gros changement si ce n'est l'apparition d'une petite icône dans la barre de tâche L'icône est différente de celle du serveur, la couleur du V les différencie (rouge pour le viewer, vert pour le serveur). Bien entendu si votre poste n'est pas un serveur VNC vous n'êtes pas obligé d'avoir l'icône VNC serveur.

Et après, me direz vous ? Il suffit que du serveur tavel, on rajoute le nom du client  shuttle dans la fenêtre Add New Client accessible avec le bouton droit de la souris sur l'icône du serveur (ou alors dans le menu Démarrer -> Programmes -> RealVNC-> VNC Server -> Add New Client)


A ce moment là l'écran du serveur (tavel) va être exporté vers le client windows shuttle. Franchement je vois pas trop l'intérêt de cette subtilité de VNC, à vous de voir...
 
 
[Retour page d'accueil FUNIX] [Retour haut de la page]