#!/bin/sh # # Copyright (c) 2006 by Karl J. Runge # # sslvnc: # # A wrapper for ssvnc_cmd using a tcl/tk gui. # # See ssvnc_cmd for details. # if [ "X$XTERM_PRINT" != "X" ]; then XTERM_PRINT="" cat > /dev/null fi if [ "X$1" = "X-bg" ]; then shift $0 "$@" & exit 0 fi PATH=$PATH:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/openwin/bin:/usr/sfw/bin:/usr/local/bin export PATH if [ "X$WISH" = "X" ]; then WISH=wish for try in wish wish8.3 wish8.4 wish8.5 do if type $try > /dev/null; then WISH=$try break fi done fi SSVNC_GUI_CMD="$0 $*" export SSVNC_GUI_CMD SSVNC_LAUNCH=$SSVNC_GUI_CMD export SSVNC_LAUNCH # 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"` PATH="$dir:$PATH" nearby=0 if [ -x "$dir/vncviewer" -a -x "$dir/stunnel" ]; then nearby=1 fi if [ ! -d "$dir/$name" -a $nearby = 0 ]; then echo echo "Cannot find platform dir for your OS `uname -sm`:" echo echo " $dir/$name" echo PATH=$PATH:/usr/sbin:/usr/local/sbin:/dist/sbin quit=0 if type vncviewer >/dev/null 2>/dev/null; then : else echo "vncviewer not found in PATH." quit=1 fi if type stunnel >/dev/null 2>/dev/null; then : else echo "stunnel not found in PATH." quit=1 fi echo if [ "X$quit" = "X1" ]; then echo "You can set the \$UNAME env. var. to override the OS setting." echo "Or, if available, run the ./build.unix script to build it." echo "Or install external \"vncviewer\" and \"stunnel\" packages." exit 1 fi echo "Using externel \"vncviewer\" and \"stunnel\" found in PATH." else STUNNEL_EXTRA_OPTS=${STUNNEL_EXTRA_OPTS:-"maxconn = 1"} export STUNNEL_EXTRA_OPTS SSVNC_VIEWER_INTERNAL=1 export SSVNC_VIEWER_INTERNAL 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 SSVNC_BASEDIR="$dir" export SSVNC_BASEDIR if [ "X$WISH" = "Xwish" ]; then exec ssvnc.tcl "$@" else exec $WISH $dir/util/ssvnc.tcl "$@" fi