ecrans

x11vnc et tunnel ssh

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

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

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

 

Vidéos drôles

Du fingerboard en taille réelle Un bateau accoste sur la plage Un policier saute une barrière Les rouquins ont une ame C'est toujours mieux de se faire rouler dessus Un problème moteur chez ses soldats Un saut raté dans la piscine Démonstration de Kung Fu par un soldat coréen Comment ne pas faire du vin chaud au micro onde