Ceci est une ancienne révision du document !
Table des matières
Utiliser une session graphique distante avec VNC
Il arrive souvent qu'on lance une session graphique sur une machine, puis que l'on veuille suivre ensuite a distance l’évolution d'un programme, ou lancer de nouvelles applications graphiques depuis cette machine, un peu comme un screen/tmux mais pour une session graphique.
L’intérêt est donc de pouvoir lancer le serveur VNC après la dite session graphique.
Avec cette méthode on peut également lancer une nouvelle session graphique à distance
Il est également possible grâce aux tunnel SSH d'utiliser cette astuce pour vous connecter à une machine ayant une IP privée chez vous derrière votre routeur (ou tout autre réseau non accessible directement depuis votre machine locale)
Prérequis
- disposer d'une connexion SSH supportant les tunnels avec la machine en question
- coté client : le client SSH : au besoin même s'il devrait déjà être installé :
# apt-get install openssh-client
- sur la machine cible, installable via SSH :
# apt-get install x11vnc
Connexion SSH et création du tunnel
Sur votre machine locale :
localuser@machinelocale:~$ ssh -L 5555:localhost:5900 $MACHINE_DISTANTE
en remplaçant $MACHINE_DISTANTE par l'IP/nom de la machine souhaitée.
vous pouvez vous référer à cette page au besoin pour l'ajout de tunnels SSH a la volée
Lancement de VNC sur la machine cible
L'idée est de lancer x11vnc pour utiliser le display 0 deja utilisé par votre session graphique sur la machine distante :
distantuser@machinedistante:~$ x11vnc -display :0
Attention avec cette commande vous lancez un VNC sans aucune restriction de connexion, comme par exemple un mot de passe, vous pouvez et il est conseillé de mettre au moins un mot de passe bidon
Récupération de la session
localuser@machinelocale:~$ vncviewer localhost:5555
Il faut bien sur adapter le port si vous n'aviez pas pris le port 5555 pour la création du tunnel