Installation sur la machine distante
Il faut que la machine distante dispose d'un serveur ssh. Si ce n'est pas le cas, rien de plus simple :
root@home:~# aptitude install openssh-server
Ensuite il faut installer x11vnc qui permet de se connecter par vnc au serveur X de la machine :
root@home:~# aptitude install x11vnc
Installation sur la machine locale
Sur la machine locale je décide d'installer xvnc4viewer qui est la version de RealVnc de vncviewer :
root@home:~# aptitude install xvnc4viewer
Script de connexion à x11vnc par ssh
Voici le script que j'utilise il est largement inspiré du script de Karl Runge qui en connait beaucoup plus que moi sur le sujet :
#!/bin/sh
host=`echo $1 | awk -F: '{print $1}'`
port=5900
display=0
localport=$port-5900
#Définition de la commande qui lance x11vnc sur la machine distante
cmd="x11vnc -display :$display -localhost -rfbport $port"
#Lancement de x11vnc et création du tunnel ssh entre les deux machines
ssh -f -t -L $port:localhost:$port $host "$cmd"
#On temporise un peu pour être sur que tout est fonctionnel
sleep 2
#Lancement de vncviewer sur la machine locale
#Adaptez cette ligne si vous utilisez la version tightvnc de vncviewer
vncviewer -PreferredEncoding ZRLE -ZlibLevel 9 localhost:$localport
Ce script utilise l'encodage ZRLE et la compression gz pour accélérer l'affichage.
Installation du script
Si vous commencez à utiliser des scripts sous linux je vous conseil de mettre tous vos scripts dans le répertoire ~/bin et ensuite d'ajouter ce répertoire à la variable d'environnement $PATH (cf : Créer un répertoire pour ses scripts personnels).
Une fois que vous avez modifiez votre environnement bash il suffit de copier le script précédent dans le fichier ~/bin/x11vncssh :
pcr@home:~$ vi ~/bin/x11vncssh
On copie-colle le script et ensuite on sauvegarde en tapant :wq. Une fois que le fichier existe il suffit de le rendre exécutable avec la commande suivante :
pcr@home:~$ chmod u+x ~/bin/x11vncssh
Utilisation du script
pcr@home:~$ x11vncssh pcr@machinedistante.com
Ou encore :
pcr@home:~$ x11vncssh machinedistante.com
Image : olaerik