Ceci est une ancienne révision du document !
X11vnc
Cette documentation permet à un utilisateur de se connecter sur sa machine à distance à la manière de vnc sur windows. Vous prenez le contrôle physique de l'ordinateur, soit l'écran (:0) du serveur X, le clavier et la souris. Si une personne se trouve devant l'écran elle voit alors ce que vous faite. De plus le serveur vnc est persistant, vous pouvez déconnecter votre client vnc sans que cela ne ferme la session locale. Pratique pour donner un coup de main à quelqu'un en difficulté sur ubuntu.
Cette documentation complète une autre documentation existant sur vnc qui permet de lancer deux session X simultanément, une physique (de l'utilisateur devant sa machine) est une virtuelle (utilisant un client vnc). ici
Les deux méthodes doivent pouvoir cohabiter ensemble.
Pré-requis
Pour Ubuntu sous Gnome il faut activer XDMCP.
Dans Système → Administration → Fenêtre de connexion
L'onglet Distante → Mettre Style : Identique à locale
Puis cliquer sur XDMCP → Décocher "Honor Indirect Requests"
Il vous faut également éditer le fichier de configuration de gdm :
sudo vi /etc/gdm/gdm.conf
et remplacer la valeur DisallowTCP=true par DisallowTCP=false
Installation
installez les paquets xinetd et x11vnc
sudo apt-get install xinetd x11vnc
Attention lors de l'installation de xinetd ubuntu enlève le paquet inetutils-inetd ce qui peut être embêtant si vous utiliser déjà ce service (utilisé par les paquets hotway et hotsmtp par exemple) pour remédier à ça installer aussi le paquet openbsd-inetd
Créer le fichier X11vnc
sudo vi /etc/xinetd.d/X11vnc
Et mettez ceci :
service X11vnc { port = 5900 type = UNLISTED socket_type = stream protocol = tcp wait = no user = root server = /usr/bin/x11vnc server_args = -inetd -o /var/log/x11vnc.log -rfbauth /root/.vnc/passwd -display :0 -auth /var/lib/gdm/:0.Xauth disable = no }
Générez un fichier password :
sudo vncpasswd /root/.vnc/passwd
Redémarrer la machine et vérifier que xinetd a bien lancé un service :
cat /var/log/syslog | grep vnc
Faites un petit test :
vncviewer localhost:5900:0
Les pistes en cas d'échec :
* ouvrez votre parefeu surtout le port 5900
* Vérifier la localisation du fichier Xauth
* Vérifier que l'option –nolisten n'est pas activé pour gdm, en console tapez
ps wwaux|grep auth
Quelques options :
* Vous pouvez enlever les log si vous n'en voulez pas en remplaçant -o /var/log/x11vnc.log par -q
* enlever le mot de passe en supprimant -rfbauth /root/.vnc/passwd du fichier /etc/xinetd.d/X11vnc
Les Liens utiles :
http://forum.ubuntu-fr.org/viewtopic.php?id=197925
http://www.karlrunge.com/x11vnc/#faq-inetd
http://ubuntuforums.org/showthread.php?t=122402