Dernières vidéos

Associations

Soutenez la Quadrature Soutenez le logiciel libre
 
ecrans

x11vnc et tunnel ssh

Petit script pour se connecter à son serveur X à distance en utilisant vnc et un tunnel SSH

x11vnc, tunnel ssh, x11vnc ssh, x11vnc ubuntu, ssh tunnel, tunnel ssh linux, ssh linux, x11 vnc ssh, installer x11vnc, x11vnc karmic, x11vnc create, script tunnel ssh, utilisation x11vnc, ubuntu vnc tunnel ssh, karmic vnc ssh

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