#!/bin/sh

# GH 19 nov 09
# pour établir la connexion vnc a travers le tunnel ssh

# Valeurs a adapter
SERVER=147.94.64.48 # ou 147.94.64.48 si protis1 inconnu
VNCSERV=calypso # car non declare au DNS
USER=henry

# recuperation du display vnc sur VNCSERV
PID=`ssh $USER@$SERVER pgrep -u $USER Xvnc`
if [ $? -ne 0 ]; then
# Pas de VNC sur VNCSERV
	ssh $SERVER start_vnc 
	PID=`ssh $USER@$SERVER pgrep -u $USER Xvnc`

else
	echo "VNC est bien lance sur $VNCSERV" $PID
fi
DISP1=`ssh $USER@$SERVER grep -l $PID .vnc/$VNCSERV*.pid`
if [ $? -ne 0 ]; then
    echo "Probleme pour trouver le display de vNC!?"
else
    DISP2=`echo $DISP1 | awk -F: '{print $2}'`	
    DISP=`basename $DISP2 .pid`
    PORT=`expr 5900 + $DISP`
    echo "VNC utilise le display " $DISP
    echo "le tunnel doit etre fait avec" $PORT
fi

# etablissement du tunnel ssh
PIDS=`ps -ef|grep  ssh |grep 5901|awk '{print $2}'`
if [ $? -eq 0 ]; then
    echo "Tunnel existe deja!?"
    # mais il faut le recreer si le PORT a change!
    for pid in $PIDS
    do
	kill -9 $pid
    done
    
fi

# tunnel a creer
echo "tunnel a creer"
ssh -c blowfish -N -f $USER@$SERVER -L 5901:$VNCSERV:$PORT sleep 60
vncviewer localhost:1 
