Retourner en haut de la page Aller au bas de la page
Logo de mon site
Logo de mon site

Yasser Arafat

Item 1 Description

Yasser Arafat

Hugo Chávez

Item 1 Description

Hugo Chávez

Mikhaïl Gorbatchev

Item 1 Description

Mikhail Sergueievitch Gorbatchev

L'Abbé Pierre

Item 1 Description

Abbe Pierre

Salvadore Allende

Item 1 Description

Salvadore Allende

Angela Yvonne Davis

Item 1 Description

Angela Yvonne Davis

Jean Moulin

Item 1 Description

Jean Moulin

Nelson Mandela

Item 1 Description

Nelson Mandela

Martin Luther King

Item 1 Description

Martin Luther King

Gamal Abdel Nasser

Item 1 Description

Gamal Abdel Nasser

Richard Stallman

Item 1 Description

Richard Stallman

Simone Veil

Item 1 Description

Simone Veil

Hand Shake

Item 1 Description

Hand Shake

Wangari Muta Maathai

Item 1 Description

Wangari Muta Maathai

Michel Colucci

Item 1 Description

Coluche

Mère Teresa

Item 1 Description

Mère Térésa

Charles de Gaulle

Item 1 Description

Charles de Gaulle

Che Guevara

Item 1 Description

Ernesto Rafael Guevara

Mohandas Gandhi

Item 1 Description

Mohandas Karamchand Gandhi

Lech Walesa

Item 1 Description

Lech Walesa

Linus Benedict Torvalds

Item 1 Description

Linus Benedict Torvalds

Sous-commandant Marcos

Item 1 Description

Sous commandant Insurge Marcos

Ahmed Shah Massoud

Item 1 Description

Ahmed Shah Massoud

Luxpopuli / Réseau / TightVNC : VNC libre





Right menu

OBLIGATOIRE

Un professeur témoigne

La brigade canine dans un collège du Gers.
Réaction d'une internaute Québécoise:
«quand on est rendu à accepter que (...) les autorité mettent leurs sales pattes dans les culottes de vos enfants (...) il est temps (...) de vous réveiller.»
OBLIGATOIRE

Les mensonges de R. Dati

La note de recadrage statistique du sociologue L. Mucchielli recadre également les mensonges de la propagande sécuritaire dont on nous rabat les oreilles depuis déjà trop longtemps et dont les mineurs de France sont à présents la cible.
Le rapport de L. Mucchielli
OBLIGATOIRE

L'aveu de Jean-Marc Sylvestre

«Le système financier s'effondre aujourd'hui comme un jeu de carte... parce que... il a été géré d'une part.... par les États-Unis sans règle... et il a été d'autre part géré... par une bande de voyous... qui se sont gouinfrés... au détriment des autres.»
VOIR LES VIDÉOS

OBLIGATOIRE

prev prev prev prev


TightVNC : VNC libre

Date de publication: le mercredi 16 mai 2007 Ă  18h34
Dernière modification: par Pascal BOYER le samedi 21 juillet 2007 à 12h11
« Article précédent: Installer une imprimante Canon i-SENSYS ML4660PL sous Linux/Debian

Qu’est-ce que TightVNC

TightVNC est la version allégée de VNC .

Il a été spécialement concu pour fonctionner sur des réseaux à faible débit comme le sont les réseaux basés sur des modems 56 kB/s (comme dans certaines écoles par exemple). De plus TightVNC corrige certains bugs et lenteurs de VNC.

TightVNC est donc un formidable outil qui permet:

  • de prendre le contrĂ´le Ă  distance d’un autre ordinateur par un rĂ©seau local voire par le rĂ©seau Internet,
  • de voir ce qui se passe sur un autre ordinateur (sans en prendre forcĂ©ment le contrĂ´le),
  • Ă  plusieurs personnes de voir ce qu’il se passe sur un mĂŞme ordinateur,
  • aucun temps de latence de la souris ou du curseur,
  • un temps de latence ultra court pour les saisies au clavier,
  • des besoins limitĂ©s en bande passante, compatibles avec les rĂ©seaux WiFi,
  • un taux de compression Ă©levĂ© pour les images,
  • une compatibilitĂ© avec OpenGL et les extensions XFree 4.3 sur n’importe quelle plate-forme,
  • une approche unifiĂ©e de la prise de contrĂ´le Ă  distance sur les clients lĂ©gers.

Voici quelques caractéristiques de TightVNC dans la langue de Shakespear:

  • File transfers in Win32 version. You can updload files from your local machine to the TightVNC server, and download files from the server to you computer.
  • Local cursor handling. Cursor movements do not generate screen updates any more, remote cursor movements are processed locally by the viewer, so you do not see slow remote cursor movements behind the local cursor.
  • Efficient compression algorithms. New Tight encoding is optimized for slow and medium-speed connections and thus generates much less traffic as compared to traditional VNC encodings. At the same time, TightVNC supports all the standard VNC encodings, so it can operate efficiently over fast networks, too. Thus, with TightVNC you can work remotely almost in real time in most network environments.
  • Configurable compression levels. You can choose any appropriate level of compromise between compression ratios and coding speed, depending on your connection speed and processor power.
  • Optional JPEG compression. If you don’t care too much about perfect image quality, you can use JPEG compression which will compress color-rich screen areas much more efficiently (the image quality level is configurable too).
  • Enhanced Web browser access. TightVNC includes a greatly improved Java viewer with full support for Tight encoding, local cursor feature, 24-bit color mode, and more. The Java viewer applet can be accessed via built-in HTTP server like in the standard VNC.
  • Support for two passwords (full-control and read-only). The server allows or disallows remote keyboard and mouse events depending on which password was used for authentication.
  • Advanced Properties dialog in WinVNC. Unlike the standard VNC, TightVNC gives you the possibility of setting a number of advanced settings directly from the WinVNC GUI, and to apply changed settings immediately. There is no need to launch regedit to set query options, connection priority, to allow loopback connections, disable HTTP server etc.
  • Flexible configuration options. Unlike the standard VNC, TightVNC allows you to choose arbitrary port numbers for TCP/IP connections, in addition to display numbers traditionally used in VNC.
  • Automatic SSH tunneling on Unix. The Unix version of TightVNC viewer can tunnel connections via SSH automatically using a local SSH/OpenSSH client installation (provided that an SSH/OpenSSH server is running on the server as well).
  • And more. TightVNC features a number of other improvements, performance optimizations and bugfixes, see change logs for more information.

1°/ Installer tightvnc

Les packages requis

Bien sûr, en plus d’une distribution en état de fonctionnement, il faut installer les packages suivants:

dpkg -l '*tightvnc*'

Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé
|/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: majuscule=mauvais)
||/ Nom               Version    Description
+++-=================-==========-===================
ii  tightvncserver    1.2.9-5    Virtual network computing server software
ii  xtightvncviewer   1.2.9-5    Virtual network computing client software for X

Il faut aussi les librairies jpeg et zlib:

dpkg -l '*zlib*'

Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé
|/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: majuscule=mauvais)
||/ Nom               Version       Description
+++-=================-=============-========================
ii  zlib1g            1.2.2-4       compression library - runtime
ii  zlib1g-dev        1.2.2-4       compression library - development
ii  zlib1g-dev        1.2.2-4       compression library - development

dpkg -l '*libjpeg*'

Souhait=inconnU/Installé/suppRimé/Purgé/H=à garder
| État=Non/Installé/fichier-Config/dépaqUeté/échec-conFig/H=semi-installé
|/ Err?=(aucune)/H=à garder/besoin Réinstallation/X=les deux (État,Err: majuscule=mauvais)
||/ Nom              Version    Description
+++-================-==========-=========
ii  libjpeg-progs    6b-9       Programs for manipulating JPEG files
ii  libjpeg62        6b-9       The Independent JPEG Group's JPEG runtime library
ii  libjpeg62-dev    6b-9       Development files for the IJG JPEG library

2°/ Lancer/arrêter le serveur

Pour cela point besoin d’être root car tout utilisateur de la machine sur laquelle est installé le serveur tightvncserver peut vouloir exporter sont environnement graphique.

Donc, pour lancer le serveur on utilise la commande:

tightvncserver : 64 -geometry 1024x768 -depth 16

oĂą:

  • Le seul numĂ©ro de serveur qu’il ne faut pas utiliser est le numĂ©ro du serveur auquel votre session est attachĂ©e (couramment le 0) (12350 fonctionne parfaitement !)

Pour information, le nom réel du démon/serveur qui tourne est Xtightvnc :

netstat -anpt |grep tight

tcp        0      0 0.0.0.0:5964            0.0.0.0:*               LISTEN     17848/Xtightvnc
tcp        0      0 0.0.0.0:6064            0.0.0.0:*               LISTEN     17848/Xtightvnc
tcp        0      0 82.67.66.131:5964       82.67.64.88:34361       ESTABLISHED17848/Xtightvnc
  • -geometry 1024x768 dĂ©signe la rĂ©solution graphique qui sera affichĂ©e sur l’écran des machines clientes.
  • -depth 16 dĂ©signe la quantitĂ© de couleurs qui doit ĂŞtre transmise (ici 2^16 = 65536 couleurs).

Lorsque vous lancez la commande pour la première fois, voici ce que vous obtenez:

You will require a password to access your desktops.

Password: xxxxxxxx
Verify:   xxxxxxxx

New 'X' desktop is euphorie.linuxorable.fr:3

Creating default startup script /home/pascal/.vnc/xstartup
Starting applications specified in /home/pascal/.vnc/xstartup
Log file is /home/pascal/.vnc/euphorie.linuxorable.fr:3.log
failed to set default font path '/usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/100dpi/,
          /usr/share/fonts/X11/75dpi/,'
Fatal server error:
could not open default font 'fixed'

ou:

Font directory '/usr/share/fonts/X11/misc//usr/share/fonts/X11/Type1/' not found - ignoring
 
 Fatal server error:
could not open default font 'fixed'
$fontPath =  "/usr/share/fonts/X11/misc/,";
$fontPath .=  "/usr/share/fonts/X11/Type1/,";
$fontPath .=  "/usr/share/fonts/X11/100dpi/,";
$fontPath .=  "/usr/share/fonts/X11/75dpi/";

C’est dans ce fichier que vous allez pouvoir indiquer les applications ou mieux, l’environnement de travail, que vous souhaitez exporter.

Vous allez donc, avant de configurer ce fichier, arrĂŞter le serveur:

3°/ Configurer les applications à exporter

Pour ce faire, éditez le fichier .vnc/xstartup et voici ce que contient le mien:

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
startkde &

Je n’ai donc commenté que la dernière ligne pour la remplacer par une autre qui démarre KDE, mon environnement de travail.

Une fois que vous aurez correctement configuré ce fichier, relancez le serveur:

tightvncserver : 64 -geometry 1024x768 -depth 16

4°/ Se connecter au serveur:

Une fois que le serveur est démarré, il suffit de lancer le client graphique xtightvncviewer à partir de n’importe quelle machine où celui-ci est installé. Cela peut être également fait à partir de la machine sur laquelle tourne le serveur. Dans tous les cas, la commande est:

xtightvncviewer

Vous avez donc deux façons d’identifier la machine qui exécute le serveur tightvncserver : soit par son adresse IP soit par son nom de machine internet.

Puis après avoir validez avec Enter , vous devrez taper le mot de passe défini lors du premier démarrage du serveur (voir 2°/ ):

Si tout est correct, une fenêtre s’ouvrira et apparaitra l’environnement graphique de l’utilisateur qui a lancé le serveur . Vous pourrez dès lors utiliser cet environnement graphique comme si vous étiez devant la machine.

5°/ Et alors ?...

Ben c’est déjà pas si mal !

Vous pouvez maintenant prendre le contrĂ´le de votre machine Ă  distance et graphiquement.

Mais le fin du fin est à venir. Et pour cela il est nécessaire que deux personnes, au minimum , se connectent au même serveur tightvncserver . Vous pourrez alors observer l’interaction des souris et des claviers et envisager l’étendue des possibiltés qui maintenant s’offrent à vous.

6°/ Quelques options intéressantes

Ces options concernent la commande de démarrage du serveur.

  • -viewonly dĂ©sactive l’utilisation du clavier et de la souris.

    Cette option peut être intéressante si l’on souhaite faire une démonstration à plusieurs personnes sans que celles-ci ne puissent intervenir avec leur clavier ou souris.

  • -compatiblekbd active les touches META et ALT permettant de conserver l’utilisation des raccourcus claviers !
  • -nocursor n’affiche tout simplement pas le curseur de la souris qui est remplacĂ© par une toute petite mire.
  • -nevershared dĂ©finit la machine locale (celle sur laquelle est dĂ©marrĂ© le serveur) comme seule machine pouvant avoir accès au serveur tightvncserver .
  • -alwaysshared (non testĂ©e) voir man Xtightvnc

7°/ Modifier le mot de passe

Lorsque vous lancez le server tightvncserver pour la première fois, vous devez définir un mot de passe qui sera utilisé par les personne qui souhaiteront se connecter à votre serveur.

Si vous désirez ultérieurement modifier ce mot de passe, utlisez la commande:

vncpasswd Connexion cryptée avec SSH

1ère solution

Par défaut, la connexion entre le poste client et le serveur VNC n’est pas cryptée laissant circuler en clair sur le réseau les mots de passe et les données.

Pour remédier à ce manque de sécurité, il est possible de créer un tunel SSH par lequel transiteront de manière cryptées toutes ces données.

Voici la procédure à suivre pour mettre en place un tunel SSH.

Démarrer le serveur VNC

La première chose à faire est de démarrer le serveur VNC.

Nous supposerons par la suite que la commande qui lance le serveur VNC est la suivante:

tightvncserver : 3 -geometry 1024x768 -depth 16

Configuration SSH de la machine cliente

Sur la machine cliente, il est impératif que le client SSH supporte le transfert du protocole X. Vous devez donc vérifier que la ligne:

ForwardX11 yes

...est bien décommentée dans le fichier /etc/ssh/ ssh_config qui est le fichier de configuration du client SSH.

En ce qui concerne la configuration du serveur SSH ( /etc/ssh/ssh d _config ) de la machine client, il peut indifféremment supporter ou non le transfert du protocole X ( X11Forwarding yes ), ce n’est pas à lui que l’on demande de fournir ce service.

Après d’éventuelles modifications de ces deux fichiers, relancez le serveur SSH:

/etc/init.d/ssh restart

Configuration SSH du serveur VNC

Sur le serveur VNC, il est impératif que le serveur SSH supporte le transfert du protocole X. Vous devez donc vérifier que la ligne:

X11Forwarding yes

...est bien décommentée dans le fichier /etc/ssh/ssh d _config qui est le fichier de configuration du serveur SSH.

En ce qui concerne la configuration du client SSH ( /etc/ssh/ssh_config ) du serveur VNC, il peut indifféremment supporter ou non le transfert du protocole X ( ForwardX11 yes ), il n’est pas utilisé.

Après d’éventuelles modifications de ces deux fichiers, relancez le serveur SSH:

/etc/init.d/ssh restart

Connexion au serveur VNC

Dans un premier temps, il faut, à partir de la machine cliente, établir une connexion SSH avec le serveur VNC:

  • -C active la compression des donnĂ©es ce qui amĂ©liore la fluiditĂ© de l’interface graphique.
  • -l indique que le login qui suit est celui de votre compte Unix sur le serveur distant (ici le serveur VNC).

    Ceci implique donc que vous ayez un compte Unix sur le serveur VNC.

  • -L XXXX:localhost:5903 transfert le port XXXX de la machine cliente sur le port 5903 du serveur VNC.

    XXXX peut prendre n’importe quelle valeur de port supérieur à 1024, pourvu bien sûr que ce ne soit pas un port déjà utilisé par une autre application.

  • @IP du serveur VNC devra Ă©videmment ĂŞtre remplacĂ© par l’adresse IP du serveur VNC. Vous pouvez mettre le nom de machine du serveur VNC au lieu de son adresse IP.

Lancer le client graphique VNC

Dans un deuxième temps, ouvrez, toujours sur la machine cliente, un xterm et lancez le client graphique VNC ainsi:

xtightvncviewer localhost::XXXX

...puis saisissez le mot de passe VNC et l’application graphique se lancera:

Fig. 3: Capture d’écran

Vous pouvez également contrôler que la connexion établie transite bien par le port XXXX et par SSH.

Dans l’exemple ci-dessous, le port est 32544:

lsof -i tcp:32544

COMMAND    PID     USER   FD   TYPE DEVICE SIZE NODE NAME
ssh       6304 virginie    4u  IPv4 488017       TCP localhost:32544 (LISTEN)
ssh       6304 virginie    8u  IPv4 488060       TCP localhost:32544->localhost:36884 (ESTABLISHED)
xtightvnc 6310 virginie    4u  IPv4 488059       TCP localhost:36884->localhost:32544 (ESTABLISHED)

2ème solution

Cette solution est plus simple à mettre en oeuvre et ne requière pas une connexion SSH préalable au démarrage du client VNC.

Donc, sans rien changer à la configuration SSH décrite ci-dessus ( Configuration SSH de la machine cliente et Configuration SSH du serveur VNC ) une seule commande suffit pour lancer, depuis la machine cliente, une connexion cryptée avec SSH vers le serveur VNC:

xtightvncviewer -via pascal@<IP serveur VNC> localhost:3

Dans cette commande il est impératif de spécifier:

  • le nom (ici pascal ) du compte unix sur le serveur VNC
  • le numĂ©ro du display (ici :3 ) utilisĂ© par le serveur TightVNCserver

Chez moi, la commande ci-dessus renvoie une sortie un peu surprenante mais qui fonctionne quand mĂŞme:

Password:
Password:
Password:
pascal@82.67.66.131's password:
VNC server supports protocol version 3.3 (viewer 3.3)
Password:

Je dois donc taper 3 fois le mot de passe VNC puis une fois le mot de passe de mon compte unix sur le serveur et enfin à nouveau le mot de passe VNC. Vraiment très surprenant!

Une fois connecté, on peut contrôler que la connexion SSH est bien en place:

lsof -i tcp |grep vnc

xtightvnc 5842 virginie    4u  IPv4  31503       TCP localhost:35382->localhost:5599 (ESTABLISHED)

Ceci montre la redirection du port d’écoute du client Xtightvnc 35382 vers le port 5599

lsof -i tcp |grep ssh

ssh       5761 virginie    4u  IPv4  19412       TCP localhost:5599 (LISTEN)
ssh       5761 virginie    8u  IPv4  19423       TCP localhost:5599->localhost:35382 (ESTABLISHED)

Cette commande montre que c’est SSH qui écoute (LISTEN) sur le port 5599 puis redirige vers le port d’écoute 35382 du client Xtightvncviewer.

Lien vers l'article précédent
Installer une imprimante Canon i-SENSYS ML4660PL sous Linux/Debian

Commentaires