Commit 8938cda1 authored by runge's avatar runge

Sync SSVNC changes: fullscreen fixes, local scaling, -chatonly, iso-8859-1/utf8 etc., etc.

parent 73f19d71
...@@ -14,7 +14,7 @@ if [ "X$SSVNC_DYLD_LIBRARY_PATH" != "X" ]; then ...@@ -14,7 +14,7 @@ if [ "X$SSVNC_DYLD_LIBRARY_PATH" != "X" ]; then
export DYLD_LIBRARY_PATH export DYLD_LIBRARY_PATH
fi fi
if [ "X$DISPLAY" != "X" ]; then if [ "X$DISPLAY" != "X" -a "X$DARWIN_COTVNC" != "X1" ]; then
"$dir/vncviewer.x11" "$@" "$dir/vncviewer.x11" "$@"
else else
args="" args=""
......
...@@ -140,7 +140,10 @@ if [ -f "$dir/util/ultraftp.jar" ]; then ...@@ -140,7 +140,10 @@ if [ -f "$dir/util/ultraftp.jar" ]; then
export SSVNC_ULTRA_FTP_JAR export SSVNC_ULTRA_FTP_JAR
fi fi
if [ "X$WISH" = "Xwish" ]; then if [ "X$1" = "X-cmd" ]; then
shift
exec ssvnc_cmd "$@"
elif [ "X$WISH" = "Xwish" ]; then
exec ssvnc.tcl "$@" exec ssvnc.tcl "$@"
else else
exec $WISH $dir/util/ssvnc.tcl "$@" exec $WISH $dir/util/ssvnc.tcl "$@"
......
...@@ -209,7 +209,7 @@ fi ...@@ -209,7 +209,7 @@ fi
if [ "X$DARWIN_COTVNC" != "X1" -a "X$VNCVIEWERCMD" = "Xvncviewer" ]; then if [ "X$DARWIN_COTVNC" != "X1" -a "X$VNCVIEWERCMD" = "Xvncviewer" ]; then
hstr=`$VNCVIEWERCMD -h 2>&1 | head -5` hstr=`$VNCVIEWERCMD -h 2>&1 | head -5`
if echo "$hstr" | grep '^TightVNC.*version 1\.[23]' > /dev/null; then if echo "$hstr" | grep 'SSVNC.*TightVNC.*version 1\.3' > /dev/null; then
# we need to avoid raw encoding # we need to avoid raw encoding
use_ours=1 use_ours=1
fi fi
...@@ -245,6 +245,8 @@ if [ $use_ours = 1 ]; then ...@@ -245,6 +245,8 @@ if [ $use_ours = 1 ]; then
# avoid system vncviewer app-defaults # avoid system vncviewer app-defaults
#XFILESEARCHPATH="/tmp/path/nowhere"; export XFILESEARCHPATH #XFILESEARCHPATH="/tmp/path/nowhere"; export XFILESEARCHPATH
SSVNC_USE_OURS=1; export SSVNC_USE_OURS
if [ "X$base" = "Xtightvncviewer" ]; then if [ "X$base" = "Xtightvncviewer" ]; then
$VNCVIEWERCMD -encodings 'copyrect tight zrle zlib hextile' "$@" $VNCVIEWERCMD -encodings 'copyrect tight zrle zlib hextile' "$@"
else else
......
...@@ -229,6 +229,22 @@ do ...@@ -229,6 +229,22 @@ do
;; ;;
"-grab") VNCVIEWER_GRAB_SERVER=1; export VNCVIEWER_GRAB_SERVER "-grab") VNCVIEWER_GRAB_SERVER=1; export VNCVIEWER_GRAB_SERVER
;; ;;
"-x11cursor") VNCVIEWER_X11CURSOR=1; export VNCVIEWER_X11CURSOR
;;
"-rawlocal") VNCVIEWER_RAWLOCAL=1; export VNCVIEWER_RAWLOCAL
;;
"-scale") shift; SSVNC_SCALE="$1"; export SSVNC_SCALE
;;
"-ssvnc_encodings") shift; VNCVIEWER_ENCODINGS="$1"; export VNCVIEWER_ENCODINGS
;;
"-rfbversion") shift; VNCVIEWER_RFBVERSION="$1"; export VNCVIEWER_RFBVERSION
;;
"-nobell") VNCVIEWER_NOBELL=1; export VNCVIEWER_NOBELL
;;
"-popupfix") VNCVIEWER_POPUP_FIX=1; export VNCVIEWER_POPUP_FIX
;;
"-realvnc4") VNCVIEWER_IS_REALVNC4=1; export VNCVIEWER_IS_REALVNC4
;;
"-h"*) help; exit 0 "-h"*) help; exit 0
;; ;;
"--h"*) help; exit 0 "--h"*) help; exit 0
...@@ -273,6 +289,7 @@ if [ "X$reverse" != "X" ]; then ...@@ -273,6 +289,7 @@ if [ "X$reverse" != "X" ]; then
echo "*Warning*: -listen and a single proxy/gateway does not make sense." echo "*Warning*: -listen and a single proxy/gateway does not make sense."
sleep 3 sleep 3
fi fi
SSVNC_LISTEN_ONCE=1; export SSVNC_LISTEN_ONCE
fi fi
fi fi
if [ "X$ssh_cmd" = "X" ]; then if [ "X$ssh_cmd" = "X" ]; then
...@@ -342,6 +359,9 @@ if [ "X$SSVNC_ULTRA_DSM" != "X" ]; then ...@@ -342,6 +359,9 @@ if [ "X$SSVNC_ULTRA_DSM" != "X" ]; then
use_ssh="" use_ssh=""
use_sshssl="" use_sshssl=""
direct_connect=1 direct_connect=1
if echo "$SSVNC_ULTRA_DSM" | grep 'noultra:' > /dev/null; then
SSVNC_NO_ULTRA_DSM=1; export SSVNC_NO_ULTRA_DSM
fi
fi fi
# (possibly) tell the vncviewer to only listen on lo: # (possibly) tell the vncviewer to only listen on lo:
...@@ -1448,9 +1468,16 @@ Kecho proxy=$proxy ...@@ -1448,9 +1468,16 @@ Kecho proxy=$proxy
echo "" echo ""
echo "NOTE: Press Ctrl-C to terminate viewer LISTEN mode." echo "NOTE: Press Ctrl-C to terminate viewer LISTEN mode."
echo "" echo ""
echo "$VNCVIEWERCMD" "$@" -listen $N N2=$N
if [ "X$VNCVIEWER_IS_REALVNC4" = "X1" ]; then
N2=`echo "$N2" | sed -e 's/://g'`
if [ $N2 -le 200 ]; then
N2=`expr $N2 + 5500`
fi
fi
echo "$VNCVIEWERCMD" "$@" -listen $N2
echo "" echo ""
$VNCVIEWERCMD "$@" -listen $N $VNCVIEWERCMD "$@" -listen $N2
fi fi
exit $? exit $?
...@@ -1536,14 +1563,19 @@ if [ "X$direct_connect" != "X" ]; then ...@@ -1536,14 +1563,19 @@ if [ "X$direct_connect" != "X" ]; then
echo "" echo ""
echo "Using UltraVNC DSM Plugin key for encryption:" echo "Using UltraVNC DSM Plugin key for encryption:"
echo "" echo ""
echo " $SSVNC_ULTRA_DSM PORT HOST:PORT" ustr=`echo "$SSVNC_ULTRA_DSM" | sed -e 's/pw=[^ ]*/pw=******/g'`
echo " $ustr PORT HOST:PORT"
echo "" echo ""
elif [ "X$getport" = "X" ]; then elif [ "X$getport" = "X" ]; then
echo "" echo ""
echo "Running viewer for direct connection:" echo "Running viewer for direct connection:"
echo "" if echo X"$@" | grep chatonly > /dev/null; then
echo "** NOTE: THERE WILL BE NO SSL OR SSH ENCRYPTION **" :
echo "" else
echo ""
echo "** NOTE: THERE WILL BE NO SSL OR SSH ENCRYPTION **"
echo ""
fi
fi fi
x="" x=""
if [ "X$SSVNC_NO_ENC_WARN" != "X" ]; then if [ "X$SSVNC_NO_ENC_WARN" != "X" ]; then
...@@ -1594,9 +1626,25 @@ if [ "X$direct_connect" != "X" ]; then ...@@ -1594,9 +1626,25 @@ if [ "X$direct_connect" != "X" ]; then
if [ "X$reverse" = "X" ]; then if [ "X$reverse" = "X" ]; then
hostdisp="$host:$disp" hostdisp="$host:$disp"
if [ "X$SSVNC_ULTRA_DSM" != "X" ]; then if [ "X$SSVNC_ULTRA_DSM" != "X" ]; then
hostdisp="exec=$SSVNC_ULTRA_DSM 0 $host:$port" if [ "X$SSVNC_USE_OURS" = "X1" ]; then
hostdisp="exec=$SSVNC_ULTRA_DSM 0 $host:$port"
else
pf=`findfree 5970`
cmd="$SSVNC_ULTRA_DSM -$pf $host:$port"
pf=`expr $pf - 5900`
hostdisp="localhost:$pf"
ustr=`echo "$cmd" | sed -e 's/pw=[^ ]*/pw=******/g'`
echo "Running:"
echo
echo "$ustr &"
echo
$cmd &
dsm_pid=$!
sleep 2
fi
fi fi
echo "$VNCVIEWERCMD" "$@" "$hostdisp" hostdisp2=`echo "$hostdisp" | sed -e 's/pw=[^ ]*/pw=******/g'`
echo "$VNCVIEWERCMD" "$@" "$hostdisp2"
trap "final" 0 2 15 trap "final" 0 2 15
echo "" echo ""
$VNCVIEWERCMD "$@" "$hostdisp" $VNCVIEWERCMD "$@" "$hostdisp"
...@@ -1614,13 +1662,17 @@ if [ "X$direct_connect" != "X" ]; then ...@@ -1614,13 +1662,17 @@ if [ "X$direct_connect" != "X" ]; then
trap "final" 0 2 15 trap "final" 0 2 15
if [ "X$SSVNC_ULTRA_DSM" != "X" ]; then if [ "X$SSVNC_ULTRA_DSM" != "X" ]; then
echo "NOTE: The ultravnc_dsm_helper only runs once. So after the first LISTEN" echo "NOTE: The ultravnc_dsm_helper only runs once. So after the first LISTEN"
echo " ends, you will have to Press Ctrl-C and restart for a new connection." echo " ends, you may have to Press Ctrl-C and restart for another connection."
echo "" echo ""
SSVNC_LISTEN_ONCE=1; export SSVNC_LISTEN_ONCE
VNCVIEWER_LISTEN_LOCALHOST=1
export VNCVIEWER_LISTEN_LOCALHOST
dport=`expr 5500 + $disp` dport=`expr 5500 + $disp`
cmd="$SSVNC_ULTRA_DSM $dport localhost:$use" cmd="$SSVNC_ULTRA_DSM $dport localhost:$use"
ustr=`echo "$cmd" | sed -e 's/pw=[^ ]*/pw=******/g'`
echo "Running:" echo "Running:"
echo echo
echo "$cmd &" echo "$ustr &"
echo echo
$cmd & $cmd &
dsm_pid=$! dsm_pid=$!
...@@ -1630,9 +1682,16 @@ if [ "X$direct_connect" != "X" ]; then ...@@ -1630,9 +1682,16 @@ if [ "X$direct_connect" != "X" ]; then
disp=`expr $disp - 5500` disp=`expr $disp - 5500`
fi fi
fi fi
echo "$VNCVIEWERCMD" "$@" -listen $disp disp2=$disp
if [ "X$VNCVIEWER_IS_REALVNC4" = "X1" ]; then
disp2=`echo "$disp2" | sed -e 's/://g'`
if [ $disp2 -le 200 ]; then
disp2=`expr $disp2 + 5500`
fi
fi
echo "$VNCVIEWERCMD" "$@" -listen $disp2
echo "" echo ""
$VNCVIEWERCMD "$@" -listen $disp $VNCVIEWERCMD "$@" -listen $disp2
fi fi
exit $? exit $?
fi fi
...@@ -1793,7 +1852,7 @@ if [ "X$stunnel_exec" = "X" ]; then ...@@ -1793,7 +1852,7 @@ if [ "X$stunnel_exec" = "X" ]; then
if [ "X$mycert" != "X" ]; then if [ "X$mycert" != "X" ]; then
sleep 1 sleep 1
echo "" echo ""
echo "(pausing for possible certificate passphrase dialog)" echo "(** pausing for possible certificate passphrase dialog **)"
echo "" echo ""
sleep 4 sleep 4
fi fi
...@@ -1829,7 +1888,14 @@ else ...@@ -1829,7 +1888,14 @@ else
echo "" echo ""
echo "NOTE: Press Ctrl-C to terminate viewer LISTEN mode." echo "NOTE: Press Ctrl-C to terminate viewer LISTEN mode."
echo "" echo ""
echo "$VNCVIEWERCMD" "$@" -listen $N N2=$N
if [ "X$VNCVIEWER_IS_REALVNC4" = "X1" ]; then
N2=`echo "$N2" | sed -e 's/://g'`
if [ $N2 -le 200 ]; then
N2=`expr $N2 + 5500`
fi
fi
echo "$VNCVIEWERCMD" "$@" -listen $N2
trap "final" 0 2 15 trap "final" 0 2 15
echo "" echo ""
if [ "X$proxy" != "X" ]; then if [ "X$proxy" != "X" ]; then
...@@ -1838,7 +1904,7 @@ else ...@@ -1838,7 +1904,7 @@ else
PPROXY_KILLPID=+1; export PPROXY_KILLPID; PPROXY_KILLPID=+1; export PPROXY_KILLPID;
$ptmp & $ptmp &
fi fi
$VNCVIEWERCMD "$@" -listen $N $VNCVIEWERCMD "$@" -listen $N2
fi fi
sleep 1 sleep 1
...@@ -134,14 +134,16 @@ libs="$tmp/libs" ...@@ -134,14 +134,16 @@ libs="$tmp/libs"
mkdir -p $libs || exit 1 mkdir -p $libs || exit 1
for liba in libz.a libjpeg.a libssl.a libcrypto.a for liba in libz.a libjpeg.a libssl.a libcrypto.a
do do
if [ "X$SSVNC_BUILD_NO_STATIC" != "X" ]; then if [ "X$SSVNC_BUILD_STATIC" = "X" ]; then
break break
fi fi
for dir in /usr/lib /lib /usr/local/lib /usr/pkg/lib /usr/sfw/lib /usr/openwin/lib for dir in /usr/lib /lib /usr/local/lib /usr/pkg/lib /usr/sfw/lib /usr/openwin/lib
do do
if [ "$name" = "Linux.x86_64" -o "$name" = "Linux.ppc64" ] ; then if [ "$name" = "Linux.x86_64" -o "$name" = "Linux.ppc64" ] ; then
dir64=`echo "$dir" | sed -e 's,lib,lib64,'` dir64=`echo "$dir" | sed -e 's,lib,lib64,'`
if [ -d $dir64 ]; then if [ "X$SSVNC_BUILD_NO_LINUX64" != "X" ]; then
:
elif [ -d $dir64 ]; then
dir=$dir64 dir=$dir64
fi fi
fi fi
...@@ -151,7 +153,7 @@ do ...@@ -151,7 +153,7 @@ do
fi fi
done done
done done
if [ "X$SSVNC_BUILD_NO_STATIC" = "X" ]; then if [ "X$SSVNC_BUILD_STATIC" != "X" ]; then
echo "Found these static archive libraries, will try to use them..." echo "Found these static archive libraries, will try to use them..."
ls -ld $libs ls -ld $libs
ls -l $libs ls -l $libs
...@@ -180,7 +182,7 @@ END ...@@ -180,7 +182,7 @@ END
fi fi
fi fi
if [ -d /var/tmp/LIBS -a "X$SSVNC_BUILD_NO_STATIC" = "X" ]; then if [ -d /var/tmp/LIBS -a "X$SSVNC_BUILD_STATIC" != "X" ]; then
LDFLAGS_OS="$LDFLAGS_OS -L/var/tmp/LIBS" LDFLAGS_OS="$LDFLAGS_OS -L/var/tmp/LIBS"
fi fi
...@@ -435,6 +437,15 @@ if [ "X$SSVNC_BUILD_SKIP_VNCSTOREPW" = "X" ]; then ...@@ -435,6 +437,15 @@ if [ "X$SSVNC_BUILD_SKIP_VNCSTOREPW" = "X" ]; then
cd "$start" cd "$start"
cp -p $tmp/vncstorepw/vncstorepw $tmp/vncstorepw/lim_accept.so $dest cp -p $tmp/vncstorepw/vncstorepw $tmp/vncstorepw/lim_accept.so $dest
echo "" echo ""
cd $tmp/vncstorepw
make clean
env LD_SSL="-L$start/$libs $LDFLAGS_OS" CPP_SSL="$CPPFLAGS_OS" make ultravnc_dsm_helper
cd "$start"
cp -p $tmp/vncstorepw/ultravnc_dsm_helper $dest
echo ""
fi fi
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
.\" License as specified in the file LICENCE.TXT that comes with the .\" License as specified in the file LICENCE.TXT that comes with the
.\" TightVNC distribution. .\" TightVNC distribution.
.\" .\"
.TH ssvncviewer 1 "August 2008" "" "SSVNC" .TH ssvncviewer 1 "October 2008" "" "SSVNC"
.SH NAME .SH NAME
ssvncviewer \- an X viewer client for VNC ssvncviewer \- an X viewer client for VNC
.SH SYNOPSIS .SH SYNOPSIS
...@@ -246,6 +246,16 @@ Use alphablending transparency for local cursors ...@@ -246,6 +246,16 @@ Use alphablending transparency for local cursors
requires: x11vnc server, both client and server requires: x11vnc server, both client and server
must be 32bpp and same endianness. must be 32bpp and same endianness.
.TP .TP
\fB\-scale\fR \fIstr\fR
Scale the desktop locally. The string "str" can
a floating point ratio, e.g. "0.9", or a fraction,
e.g. "3/4", or WxH, e.g. 1280x1024. Use "fit"
to fit in the current screen size.
Use "auto" to fit in the window size.
Note that scaling is done in software and can be slow
and requires more memory. "str" can also be set by
the env. var. SSVNC_SCALE.
.TP
\fB\-ycrop\fR n \fB\-ycrop\fR n
Only show the top n rows of the framebuffer. For Only show the top n rows of the framebuffer. For
use with x11vnc \fB\-ncache\fR client caching option use with x11vnc \fB\-ncache\fR client caching option
...@@ -356,6 +366,11 @@ THAT supply -ultradsm to tell THIS viewer to modify the RFB ...@@ -356,6 +366,11 @@ THAT supply -ultradsm to tell THIS viewer to modify the RFB
data sent so as to work with the UltraVNC Server. For some data sent so as to work with the UltraVNC Server. For some
reason, each RFB msg type must be sent twice under DSM. reason, each RFB msg type must be sent twice under DSM.
.TP .TP
\fB\-chatonly\fR
Try to be a client that only does UltraVNC text chat. This
mode is used by x11vnc to present a chat window on the physical
X11 console (i.e. to chat with the person at the display).
.TP
\fB-env\fR \fIVAR=VALUE\fR \fB-env\fR \fIVAR=VALUE\fR
To save writing a shell script to set environment To save writing a shell script to set environment
variables, specify as many as you need on the command line. For example, variables, specify as many as you need on the command line. For example,
...@@ -386,8 +401,10 @@ XENVIRONMENT or XAPPLRESDIR. ...@@ -386,8 +401,10 @@ XENVIRONMENT or XAPPLRESDIR.
256 colors ~ -bgr233 default # of colors. 256 colors ~ -bgr233 default # of colors.
64 colors ~ -bgr222 / -use64 64 colors ~ -bgr222 / -use64
8 colors ~ -bgr111 / -use8 8 colors ~ -bgr111 / -use8
Scale Viewer ~ -scale
Set Y Crop (y-max) ~ -ycrop Set Y Crop (y-max) ~ -ycrop
Set Scrollbar Width ~ -sbwidth Set Scrollbar Width ~ -sbwidth
XGrabServer ~ -graball
UltraVNC Extensions: UltraVNC Extensions:
......
#!/bin/sh #!/bin/sh
rm -rf ./src/tmp/* || exit 1 rm -rf ./src/tmp/* || exit 1
vers=1.0.20 vers=1.0.21
cd .. || exit 1 cd .. || exit 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment