diff options
Diffstat (limited to 'x11vnc/misc/rx11vnc')
-rwxr-xr-x | x11vnc/misc/rx11vnc | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/x11vnc/misc/rx11vnc b/x11vnc/misc/rx11vnc deleted file mode 100755 index cf9c78b..0000000 --- a/x11vnc/misc/rx11vnc +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh -# -# usage: rx11vnc [-s] <host>:<xdisplay> -# rx11vnc [-s] <host> (assumes xdisplay is 0) -# -# -s means use ssh instead of rsh. -# -S tries to tunnel the vnc traffic thru ssh. (experimental...) -# -#set -xv - -# -# Place your x11vnc cmd + options here (must have -bg and -display -# with -display as the last one) -# -cmd="x11vnc -nap -q -bg -display" -viewer="vncviewer" -rsh=rsh - -# -# The following two settings are only used under -S (ssh tunnel) -# -# Unfortunately, we have to set up the ssh port redirection *before* -# x11vnc has started and selected its listening port. -# tunnel_ports is a list of ports we expect/hope to be free on both -# the local and remote machines: -# -tunnel_ports="5900 5901 5902 5903" -# -# VNC has a poor default in that if the client appears to be emanating -# from the local machine, then raw encoding is preferred. With ssh port -# redirection we appear to be coming from the localhost, but we are not. -# We pass this encoding list to the viewer to give lowest preference to -# raw encoding: -# -tunnel_encodings="copyrect tight zrle hextile zlib corre rre" - -if [ "$USER" = "runge" ]; then - cmd="x11vnc.expt -nap -q -bg -rfbauth .vnc/passwd -display" - viewer="vncviewerz" -fi - -if [ "X$1" = "X-s" ]; then - shift - rsh=ssh -elif [ "X$1" = "X-S" ]; then - shift - rsh=ssh - tunnel=1 - cmd=`echo "$cmd" | sed -e 's/ / -localhost /'` -fi - -remote=$1 -if echo "$remote" | grep ':' > /dev/null; then - : -else - remote="$remote:0" -fi - -host=`echo "$remote" | awk -F: '{print $1}'` -disp=`echo "$remote" | awk -F: '{print $2}'` -disp=":$disp" -if [ "X$host" = "X" ]; then - echo "bad host." - exit 1 -fi - -# start the remote x11vnc: -if [ $tunnel ]; then - # much more kludgy for tunnelling: - tmp=/tmp/rx11vnc.$$ - redir="" - used_ports=`netstat -an | egrep '(ESTABLISHED|LISTEN) *$' \ - | sed -e 's/^[ ]*//' -e 's/^tcp[ 0-9][ 0-9]*//' \ - -e 's/[ ].*$//' -e 's/^.*[^0-9]//' | sort -nu` - for p in $tunnel_ports - do - ok=1 - for u in $used_ports - do - if [ "X$p" = "X$u" ]; then - echo "port $u is in use. skipping it" - ok= - break - fi - done - if [ $ok ]; then - redir="$redir -L $p:localhost:$p" - fi - done - # - # Have ssh put the command in the bg, then we look for PORT= - # in the tmp file. The sleep at the end is to give us enough - # time to connect thru the port redir, otherwise ssh will exit - # before we can connect. - # - time=15 - $rsh -t -f $redir $host "$cmd $disp; echo END; sleep $time" > $tmp - - i=0 - while [ $i -lt $time ] - do - sleep 1 - if grep '^PORT=' $tmp > /dev/null; then - port=`grep '^PORT=' $tmp | sed -e 's/PORT=//'` - if [ "X$port" != "X" ]; then - break - fi - fi - i=`expr $i + 1` - done - cat $tmp - rm -f $tmp -else - port=`$rsh $host "$cmd $disp" | grep '^PORT=' | sed -e 's/PORT=//'` -fi - -echo "x11vnc port is '$port'" - -# now start up the viewer on this end: -if echo "$port" | grep '^[0-9][0-9]*$' > /dev/null; then - if [ $port -lt 6000 -a $port -ge 5900 ]; then - # vncviewer special cases 0-99 - port=`expr $port - 5900` - fi - if [ $tunnel ]; then - $viewer -encodings "$tunnel_encodings" "localhost:$port" - else - $viewer "$host:$port" - fi -else - echo "bad port." - exit 1 -fi |