synchronize ssvnc

pull/1/head
runge 16 years ago
parent 4dbc5d5a12
commit cda73dc0ac

@ -110,6 +110,9 @@ The enhanced TightVNC viewer features are:
- ZRLE VNC encoding support (RealVNC's encoding)
- Support for the ZYWRLE encoding, a wavelet based extension to
ZRLE to improve compression of motion video and photo regions.
- Cursor alphablending with x11vnc at 32bpp (-alpha option)
- Option "-unixpw ..." for use with "x11vnc -unixpw" login dialogs.
@ -120,8 +123,8 @@ The enhanced TightVNC viewer features are:
extensions
- UltraVNC File Transfer via an auxiliary Java helper program
(java must be in $PATH). Note that x11vnc supports UltraVNC
file transfer.
(java must be in $PATH). Note that the x11vnc server supports
UltraVNC file transfer.
- Connection support for the UltraVNC repeater proxy (-repeater
option).
@ -130,11 +133,21 @@ The enhanced TightVNC viewer features are:
SC I, and SSL encrypted: SC III)
- Support for UltraVNC DSM Encryption Plugin mode. (ARC4 and
AESV2, but not MSRC4 yet)
AESV2, and MSRC4)
- Instead of hostname:display one can also supply "exec=command args..."
to connect the viewer to the stdio of an external command
(e.g. stunnel or socat) rather than using a TCP/IP socket.
- Support for symmetric encryption (including blowfish and 3des
ciphers) to Non-UltraVNC Servers. Any server using the same
encryption method will work, e.g.: x11vnc -enc blowfish:./my.key
- Instead of hostname:display one can also supply "exec=command
args..." to connect the viewer to the stdio of an external command
(e.g. stunnel or socat) rather than using a TCP/IP socket. Unix
domain sockets, e.g. /path/to/unix/socket, and a previously
opened file descriptor fd=0, work too.
- Local Port Protections for STUNNEL and SSH: avoid having for
long periods of time a listening port on the the local (VNC
viewer) side that redirects to the remote side.
- Extremely low color modes: 64 and 8 colors in 8bpp
(-use64/-bgr222, -use8/-bgr111)
@ -147,6 +160,11 @@ The enhanced TightVNC viewer features are:
below the actual display. Set to actual height or use -1 for
autodetection (tall screens are autodetected by default).
- Escape Keys: enable a set of modifier keys so when they
are all pressed down you can invoke Popup menu actions via
keystrokes. I.e., a set of 'Hot Keys'. One can also pan (move)
the desktop inside the viewport via Arrow keys or a mouse drag.
- Scrollbar width setting: -sbwidth n, the default is very thin,
2 pixels, for less distracting -ycrop usage.
@ -154,7 +172,8 @@ The enhanced TightVNC viewer features are:
dynamically via the menu: ViewOnly, Toggle Bell, CursorShape
updates, X11 Cursor, Cursor Alphablending, Toggle Tight/ZRLE,
Toggle JPEG, FullColor/16bpp/8bpp (256/64/8 colors), Greyscale
for low color modes.
for low color modes, Scaling the Viewer resolution, Escape Keys,
and others, including UltraVNC extensions.
- Maintains its own BackingStore if the X server does not
@ -162,9 +181,6 @@ The enhanced TightVNC viewer features are:
(local machine). Default assumes you are using SSH tunnel. Use
-rawlocal to revert.
- Support for the ZYWRLE encoding, a wavelet based extension to
ZRLE to improve compression of motion video and photo regions.
- XGrabServer support for fullscreen mode, for old window managers
(-grab/-graball option).
@ -198,7 +214,7 @@ Unix and Mac OS X:
Unpack the archive:
% gzip -dc ssvnc-1.0.19.tar.gz | tar xvf -
% gzip -dc ssvnc-1.0.21.tar.gz | tar xvf -
Run the GUI:
@ -206,7 +222,7 @@ Unix and Mac OS X:
% ./ssvnc/MacOSX/ssvnc (for Mac OS X)
The smaller file "ssvnc_no_windows-1.0.19.tar.gz"
The smaller file "ssvnc_no_windows-1.0.21.tar.gz"
could have been used as well.
On MacOSX you could also click on the SSVNC app icon in the Finder.
@ -241,7 +257,8 @@ Unix and Mac OS X:
Unix/MacOSX Install:
There is no standard install, but you can make symlinks like so:
There is no standard install for the bundles, but you can make
symlinks like so:
cd /a/directory/in/PATH
ln -s /path/to/ssvnc/bin/{s,t}* .
@ -249,12 +266,22 @@ Unix/MacOSX Install:
Or put /path/to/ssvnc/bin, /path/to/ssvnc/Unix, or /path/to/ssvnc/MacOSX
in your PATH.
For the conventional source tarball it will compile and install, e.g.:
gzip -dc ssvnc-1.0.20.src.tar.gz | tar xvf -
cd ssvnc-1.0.20
make config
make all
make PREFIX=/my/install/dir install
then have /my/install/dir/bin in your PATH.
Windows:
Unzip, using WinZip or a similar utility, the zip file:
ssvnc-1.0.19.zip
ssvnc-1.0.21.zip
Run the GUI, e.g.:
@ -266,7 +293,7 @@ Windows:
select Open, and then OK to launch it.
The smaller file "ssvnc_windows_only-1.0.19.zip"
The smaller file "ssvnc_windows_only-1.0.21.zip"
could have been used as well.
You can make a Windows shortcut to this program if you want to.

@ -235,6 +235,8 @@ do
;;
"-scale") shift; SSVNC_SCALE="$1"; export SSVNC_SCALE
;;
"-escape") shift; VNCVIEWER_ESCAPE="$1"; export VNCVIEWER_ESCAPE
;;
"-ssvnc_encodings") shift; VNCVIEWER_ENCODINGS="$1"; export VNCVIEWER_ENCODINGS
;;
"-rfbversion") shift; VNCVIEWER_RFBVERSION="$1"; export VNCVIEWER_RFBVERSION

@ -1200,6 +1200,99 @@ proc help {} {
jiggle_text .h.f.t
}
proc ssvnc_escape_help {} {
toplev .ekh
scroll_text_dismiss .ekh.f
center_win .ekh
wm title .ekh "SSVNC Escape Keys Help"
set msg {
SSVNC Escape Keys:
The Unix SSVNC VNC Viewer, ssvncviewer(1), has an 'Escape Keys'
mechanism that enables using keystrokes that are bound as 'Hot Keys'
to specific actions.
So, when you have all of the modifier keys ('escape keys') pressed down,
then subsequent keystrokes are interpreted as local special actions
instead of being sent to the remote VNC server.
This enables quick parameter changing and also panning of the viewport.
E.g. the keystroke 'r' is mapped to refresh the screen.
Enter 'default' in the entry box to enable this feature and to use the
default modifier list (Alt_L,Super_L on unix and Control_L,Meta_L on
macosx) or set it to a list of modifier keys, e.g. Alt_L,Control_L.
Note that _L means left side of keyboard and _R means right side.
Alt_L is the 'Alt' key on the left side of the keyboard, and Super_L
is usually the 'WindowsFlaggie(TM)' on the left side of the keyboard,
so when both of those are pressed, the escape keys mapping take effect.
Here is info from the ssvncviewer(1) manual page:
-escape str This sets the 'Escape Keys' modifier sequence and enables
escape keys mode. When the modifier keys escape sequence
is held down, the next keystroke is interpreted locally
to perform a special action instead of being sent to the
remote VNC server.
Use '-escape default' for the default modifier sequence.
(Unix: Alt_L,Super_L and MacOSX: Control_L,Meta_L)
Here are the 'Escape Keys: Help+Set' instructions from the Popup Menu:
Escape Keys: Enter a comma separated list of modifier keys to be the
'escape sequence'. When these keys are held down, the next keystroke is
interpreted locally to invoke a special action instead of being sent to
the remote VNC server. In other words, a set of 'Hot Keys'.
To enable or disable this, click on 'Escape Keys: Toggle' in the Popup.
Here is the list of hot-key mappings to special actions:
r: refresh desktop b: toggle bell c: toggle full-color
f: file transfer x: x11cursor z: toggle Tight/ZRLE
l: full screen g: graball e: escape keys dialog
s: scale dialog +: scale up (=) -: scale down (_)
t: text chat a: alphablend cursor
V: toggle viewonly Q: quit viewer 1 2 3 4 5 6: UltraVNC scale 1/n
Arrow keys: pan the viewport about 10% for each keypress.
PageUp / PageDown: pan the viewport by a screenful vertically.
Home / End: pan the viewport by a screenful horizontally.
KeyPad Arrow keys: pan the viewport by 1 pixel for each keypress.
Dragging the Mouse with Button1 pressed also pans the viewport.
Clicking Mouse Button3 brings up the Popup Menu.
The above mappings are *always* active in ViewOnly mode, unless you set the
Escape Keys value to 'never'.
If the Escape Keys value below is set to 'default' then a default list of
of modifier keys is used. For Unix it is: Alt_L,Super_L and for MacOSX it
is Control_L,Meta_L. Note: the Super_L key usually has a Windows(TM) Flag
on it. Also note the _L and _R mean the key is on the LEFT or RIGHT side
of the keyboard.
On Unix the default is Alt and Windows keys on Left side of keyboard.
On MacOSX the default is Control and Command keys on Left side of keyboard.
Example: Press and hold the Alt and Windows keys on the LEFT side of the
keyboard and then press 'c' to toggle the full-color state. Or press 't'
to toggle the ultravnc Text Chat window, etc.
To use something besides the default, supply a comma separated list (or a
single one) from: Shift_L Shift_R Control_L Control_R Alt_L Alt_R Meta_L
Meta_R Super_L Super_R Hyper_L Hyper_R or Mode_switch.
}
.ekh.f.t insert end $msg
jiggle_text .ekh.f.t
}
# Or Alternatively one can supply both hosts separated by
# spaces (with the proxy second) in the VNC Host:Display box:
#
@ -2352,7 +2445,7 @@ proc set_defaults {} {
global sound_daemon_local_cmd sound_daemon_local_port sound_daemon_local_kill sound_daemon_x11vnc sound_daemon_local_start
global smb_su_mode smb_mount_list
global use_port_knocking port_knocking_list
global ycrop_string ssvnc_scale sbwid_string rfbversion ssvnc_encodings use_x11cursor use_nobell use_rawlocal use_popupfix extra_sleep use_listen use_unixpw use_x11vnc_find unixpw_username
global ycrop_string ssvnc_scale ssvnc_escape sbwid_string rfbversion ssvnc_encodings use_x11cursor use_nobell use_rawlocal use_popupfix extra_sleep use_listen use_unixpw use_x11vnc_find unixpw_username
global disable_ssl_workarounds disable_ssl_workarounds_type
global include_list
@ -2449,6 +2542,7 @@ proc set_defaults {} {
set defs(ycrop_string) ""
set defs(ssvnc_scale) ""
set defs(ssvnc_escape) ""
set defs(sbwid_string) ""
set defs(rfbversion) ""
set defs(ssvnc_encodings) ""
@ -4921,7 +5015,7 @@ proc reset_stunnel_extra_opts {} {
proc launch_unix {hp} {
global smb_redir_0 smb_mounts env
global vncauth_passwd use_unixpw unixpw_username unixpw_passwd
global ssh_only ts_only use_x11cursor use_nobell use_rawlocal use_popupfix ssvnc_scale
global ssh_only ts_only use_x11cursor use_nobell use_rawlocal use_popupfix ssvnc_scale ssvnc_escape
global ssvnc_encodings
globalize
@ -5347,6 +5441,9 @@ proc launch_unix {hp} {
if {$ssvnc_scale != ""} {
set cmd "$cmd -scale '$ssvnc_scale'"
}
if {$ssvnc_escape != ""} {
set cmd "$cmd -escape '$ssvnc_escape'"
}
if {$ssvnc_encodings != ""} {
set cmd "$cmd -ssvnc_encodings '$ssvnc_encodings'"
}
@ -11014,6 +11111,13 @@ proc help_ssvncviewer_opts {} {
or the string 'fit' to fill the current screen. Use 'auto'
to scale the desktop to match the viewer window size.
Escape Keys:
Enable 'Escape Keys', a set of modifier keys that, if all are
pressed down, enable local Hot Key actions. Set to 'default'
to use the default (Alt_L,Super_L on unix, Control_L,Meta_L
on macosx) or set to a list of modifier keys.
Y Crop:
This is for x11vnc's -ncache client side caching scheme with our
@ -11043,9 +11147,10 @@ proc help_ssvncviewer_opts {} {
VNCVIEWER_SBWIDTH (-sbwidth, see ScrollBar Width above)
VNCVIEWER_RFBVERSION (-rfbversion, e.g. 3.6)
VNCVIEWER_ENCODINGS (-encodings, e.g. "copyrect zrle hextile")
VNCVIEWER_BELL (-bell)
VNCVIEWER_NOBELL (-nobell)
VNCVIEWER_X11CURSOR (-x11cursor, see Use X11 Cursor above)
VNCVIEWER_RAWLOCAL (-rawlocal, see Use Raw Local above)
VNCVIEWER_ESCAPE (-escape, see Escape Keys above)
SSVNC_SCALE (-scale, see Scaling above)
SSVNC_MULTIPLE_LISTEN (-multilisten, see Mulitple LISTEN above)
SSVNC_UNIXPW (-unixpw)
@ -12764,7 +12869,7 @@ proc set_advanced_options {} {
proc set_ssvncviewer_options {} {
global is_windows darwin_cotvnc
global use_ssh use_sshssl use_x11cursor use_rawlocal use_popupfix use_alpha use_grab use_nobell
global ssvnc_scale
global ssvnc_scale ssvnc_escape
if {$is_windows} {
return
@ -12820,9 +12925,10 @@ proc set_ssvncviewer_options {} {
lappend darwinlist .os.b$i; if {$darwin_cotvnc} {.os.b$i configure -state disabled}
incr i
set relief ridge
frame .os.b$i -height 2; incr i
set relief ridge
frame .os.b$i -relief $relief -borderwidth 2
label .os.b$i.l -font fixed -anchor w -text "Examples: '0.75', '1024x768', 'fit' (fill screen), or 'auto'";
@ -12844,6 +12950,28 @@ proc set_ssvncviewer_options {} {
frame .os.b$i -relief $relief -borderwidth 2
label .os.b$i.l -font fixed -anchor w -text "Examples: 'default', 'Control_L,Alt_L', 'never'";
global ssvnc_escape
frame .os.b$i.f
label .os.b$i.f.l -text "Escape Keys: "
lappend darwinlist .os.b$i.f.l; if {$darwin_cotvnc} {.os.b$i.f.l configure -state disabled}
entry .os.b$i.f.e -width 10 -textvariable ssvnc_escape
lappend darwinlist .os.b$i.f.e; if {$darwin_cotvnc} {.os.b$i.f.e configure -state disabled}
button .os.b$i.f.b -relief ridge -text Help -command ssvnc_escape_help
lappend darwinlist .os.b$i.f.b; if {$darwin_cotvnc} {.os.b$i.f.b configure -state disabled}
pack .os.b$i.f.l -side left
pack .os.b$i.f.b -side right
pack .os.b$i.f.e -side right -expand 1 -fill x
pack .os.b$i.f .os.b$i.l -side top -fill x
incr i
frame .os.b$i -height 2; incr i
frame .os.b$i -relief $relief -borderwidth 2
label .os.b$i.l -font fixed -anchor w -text "Enter the max height in pixels, e.g. '900'";
global ycrop_string

@ -29,6 +29,10 @@ ssvncviewer \- an X viewer client for VNC
.br
.B ssvncviewer
.RI [\| options \|]
.RI fd=n
.br
.B ssvncviewer
.RI [\| options \|]
.RI /path/to/unix/socket
.br
.B ssvncviewer
@ -197,16 +201,20 @@ to allow more than one incoming VNC server at a time.
This is the same as -multilisten described below. Set
SSVNC_MULTIPLE_LISTEN=MAX:n to allow no more than "n"
simultaneous reverse connections.
.TP
Note: If the host:port is specified as "exec=command args..."
If the host:port is specified as "exec=command args..."
then instead of making a TCP/IP socket connection to the
remote VNC server, "command args..." is executed and the
viewer is attached to its stdio. This enables tunnelling
established via an external command, e.g. an stunnel(8)
that does not involve a listening socket.
This mode does not work for -listen reverse connections.
.TP
Note: If the host:port contains a '/' it is interpreted as a
If the host:port is specified as "fd=n" then it is assumed
n is an already opened file descriptor to the socket. (i.e
the parent did fork+exec)
If the host:port contains a '/' it is interpreted as a
unix-domain socket (AF_LOCAL insead of AF_INET)
.TP
\fB\-multilisten\fR
@ -382,6 +390,69 @@ then exit. You can save them to a file and customize them (e.g. the
keybindings and Popup menu) Then point to the file via
XENVIRONMENT or XAPPLRESDIR.
.TP
\fB\-escape \fR\fIstr\fR
This sets the 'Escape Keys' modifier sequence and enables
escape keys mode. When the modifier keys escape sequence
is held down, the next keystroke is interpreted locally
to perform a special action instead of being sent to the
remote VNC server.
Use '\fB\-escape\fR default' for the default modifier sequence.
(Unix: Alt_L,Super_L and MacOSX: Control_L,Meta_L)
Here are the 'Escape Keys: Help+Set' instructions from the Popup:
Escape Keys: Enter a comma separated list of modifier keys to be the 'escape
sequence'. When these keys are held down, the next keystroke is
interpreted locally to invoke a special action instead of being sent to
the remote VNC server. In other words, a set of 'Hot Keys'.
Here is the list of local key mappings to special actions:
r: refresh desktop b: toggle bell c: toggle full-color
f: file transfer x: x11cursor z: toggle Tight/ZRLE
l: full screen g: graball e: escape keys dialog
s: scale dialog +: scale up (=) -: scale down (_)
t: text chat a: alphablend cursor
V: toggle viewonly Q: quit viewer 123456: UltraVNC scale 1/n
Arrow keys: pan the viewport about 10% for each keypress.
PageUp/PageDown: pan the viewport by a screenful vertically.
Home/End: pan the viewport by a screenful horizontally.
KeyPad Arrows: pan the viewport by 1 pixel for each keypress.
Dragging the Mouse with Button1 pressed also pans the viewport.
Clicking Mouse Button3 brings up the Popup Menu.
The above mappings are \fBalways\fR active in ViewOnly mode, unless you set
the Escape Keys value to 'never'.
If the Escape Keys value below is set to 'default' then a default list of
of modifier keys is used. For Unix it is: Alt_L,Super_L and for MacOSX it
is Control_L,Meta_L. Note: the Super_L key usually has a Windows(TM) Flag
on it. Also note the _L and _R mean the key is on the LEFT or RIGHT side
of the keyboard.
On Unix the default is Alt and Windows keys on Left side of keyboard.
On MacOSX the default is Control and Command keys on Left side of keyboard.
Example: Press and hold the Alt and Windows keys on the LEFT side of the
keyboard and then press 'c' to toggle the full-color state. Or press 't'
to toggle the ultravnc Text Chat window, etc.
To use something besides the default, supply a comma separated list (or a
single one) from: Shift_L Shift_R Control_L Control_R Alt_L Alt_R Meta_L
Meta_R Super_L Super_R Hyper_L Hyper_R or Mode_switch.
.TP
\fB New Popup actions:\fR
ViewOnly: ~ -viewonly
@ -402,6 +473,8 @@ XENVIRONMENT or XAPPLRESDIR.
64 colors ~ -bgr222 / -use64
8 colors ~ -bgr111 / -use8
Scale Viewer ~ -scale
Escape Keys: Toggle ~ -escape
Escape Keys: Help+Set ~ -escape
Set Y Crop (y-max) ~ -ycrop
Set Scrollbar Width ~ -sbwidth
XGrabServer ~ -graball

Loading…
Cancel
Save