diff options
author | runge <runge> | 2006-11-21 21:57:22 +0000 |
---|---|---|
committer | runge <runge> | 2006-11-21 21:57:22 +0000 |
commit | 38b55a056b7c3d74f0cd14d5303268d137ec77a9 (patch) | |
tree | bf0b019112246e0880119ad83fca787cf7cac3b9 /x11vnc/misc/enhanced_tightvnc_viewer/bin/ssvnc_cmd | |
parent | 4a83f87609b9d53b2983806be58ccd02498a5cd3 (diff) | |
download | libtdevnc-38b55a056b7c3d74f0cd14d5303268d137ec77a9.tar.gz libtdevnc-38b55a056b7c3d74f0cd14d5303268d137ec77a9.zip |
rename
Diffstat (limited to 'x11vnc/misc/enhanced_tightvnc_viewer/bin/ssvnc_cmd')
-rwxr-xr-x | x11vnc/misc/enhanced_tightvnc_viewer/bin/ssvnc_cmd | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/x11vnc/misc/enhanced_tightvnc_viewer/bin/ssvnc_cmd b/x11vnc/misc/enhanced_tightvnc_viewer/bin/ssvnc_cmd new file mode 100755 index 0000000..3f0de56 --- /dev/null +++ b/x11vnc/misc/enhanced_tightvnc_viewer/bin/ssvnc_cmd @@ -0,0 +1,158 @@ +#!/bin/sh +# +# Copyright (c) 2006 by Karl J. Runge <runge@karlrunge.com> +# +# ssl_tightvncviewer: +# +# A wrapper that calls ssl_vncviewer to use the enhanced TightVNC viewer. +# +# The enhanced TightVNC viewer features are: +# +# - SSL support for connections using the co-bundled stunnel program. +# - rfbNewFBSize VNC support (screen resizing) +# - cursor alphablending with x11vnc at 32bpp +# - xgrabserver support for fullscreen mode (for old window mgrs) +# +# +# Your platform (e.g. Linux.i686) is autodetected and enhanced +# vncviewer and stunnel binaries for it are used (see the ./bin directory). +# +# See the build.unix script if your platform is not in this package. +# You can also set the env. var. UNAME=os.arch to any "os.arch" you want +# to override the autodetetion. +# +# Usage: +# +# ssl_tightvncviewer [ssl_vncviewer-args] hostname:N [tightvncviewer-args] +# +# "hostname:N" is the host and VNC display to connect to, e.g. snoopy:0 +# +# See the script util/ssl_vncviewer for details about its arguments: +# +# -verify pemfile +# -mycert pemfile +# -proxy phost:pport +# -alpha +# -grab +# +# +# If the *very first* argument is "-cotvnc" then it is assumed you are on +# Darwin and want to run the Chicken of the VNC viewer via our wrapper. +# +# +# See the TightVNC viewer documentation for on its cmdline arguments. +# +# For convenience, here is the current (7/2006) TightVNC viewer -help output: +# +# TightVNC viewer version 1.3dev5 +# +# Usage: vncviewer [<OPTIONS>] [<HOST>][:<DISPLAY#>] +# vncviewer [<OPTIONS>] [<HOST>][::<PORT#>] +# vncviewer [<OPTIONS>] -listen [<DISPLAY#>] +# vncviewer -help +# +# <OPTIONS> are standard Xt options, or: +# -via <GATEWAY> +# -shared (set by default) +# -noshared +# -viewonly +# -fullscreen +# -noraiseonbeep +# -passwd <PASSWD-FILENAME> (standard VNC authentication) +# -user <USERNAME> (Unix login authentication) +# -encodings <ENCODING-LIST> (e.g. "tight copyrect") +# -bgr233 +# -owncmap +# -truecolour +# -depth <DEPTH> +# -compresslevel <COMPRESS-VALUE> (0..9: 0-fast, 9-best) +# -quality <JPEG-QUALITY-VALUE> (0..9: 0-low, 9-high) +# -nojpeg +# -nocursorshape +# -x11cursor +# -autopass +# +# Option names may be abbreviated, e.g. -bgr instead of -bgr233. +# See the manual page for more information. +# + +if [ "X$1" = "X-h" -o "X$1" = "X-help" -o "X$1" = "X--help" ]; then + head -76 "$0" | grep -v bin/sh + exit +fi + +# Include /usr/bin... to be sure to get regular utilities: +# +PATH=$PATH:/usr/bin:/bin +export PATH + +# Set this for ssl_vncviewer to pick up: +# +use_ours=0 +if [ "X$1" = "X-cotvnc" ]; then + shift + DARWIN_COTVNC=1 + export DARWIN_COTVNC +fi +if [ "X$VNCVIEWERCMD" = "X" ]; then + VNCVIEWERCMD="vncviewer" + export VNCVIEWERCMD + if [ "X$DARWIN_COTVNC" = "X" ]; then + use_ours=1 + fi +fi + +# work out os.arch platform string and check for binaries: +# +name=$UNAME +if [ "X$name" = "X" ]; then + name=`uname -sm | sed -e 's/ /./g'` +fi + +f="$0" +for t in 1 2 3 4 5 +do + if [ -L "$f" ]; then + f0="$f" + f=`ls -l "$f" | sed -e 's/^.* -> //'` + if echo "$f" | grep '^/' > /dev/null; then + : + else + f="`dirname "$f0"`/$f" + fi + else + break + fi +done +dir=`dirname "$f"` + +if [ ! -d "$dir/$name" ]; then + echo "cannot find platform dir: $dir/$name for your OS:" + uname -sm + echo "you can set the \$UNAME env. var. to override the setting." + exit 1 +fi + +# Put our os.arch and other utils dirs at head of PATH to be sure to +# pick them up: +# +PATH="$dir:$dir/$name:$dir/util:$PATH" +if echo "$dir" | grep '^/' > /dev/null; then + : +else + dir=`pwd`/$dir + PATH="$dir:$dir/$name:$dir/util:$PATH" +fi + +STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"} +export STUNNEL_EXTRA_OPTS + +# If ours (and not cotvnc), force the use of tight encoding for localhost +# redir connection: +# +# +if [ $use_ours = 1 ]; then + ssl_vncviewer "$@" -encodings 'copyrect tight zrle zlib hextile' +else + ssl_vncviewer "$@" +fi |