x11vnc: -nap is now the default, version str 0.7.1.

pull/1/head
runge 19 years ago
parent 5c13bd0cd4
commit b70fcb448e

@ -1,3 +1,7 @@
2005-02-21 Karl Runge <runge@karlrunge.com>
* -nap is now the default, disable with -nonap
* set version to 0.7.1, word tune -help, etc.
2005-02-14 Karl Runge <runge@karlrunge.com>
* cleanup -users stuff, add "lurk=" mode
* support cde in -solid

@ -1,5 +1,5 @@
x11vnc README file Date: Mon Feb 14 14:23:56 EST 2005
x11vnc README file Date: Mon Feb 21 22:41:53 EST 2005
The following information is taken from these URLs:
@ -594,8 +594,6 @@ ls -l ./x11vnc/x11vnc
Please feel free to [45]contact me if you have any questions,
problems, or comments about x11vnc, etc.
[PayPal]
_________________________________________________________________
x11vnc FAQ:
@ -1927,9 +1925,34 @@ x11vnc -logfile $HOME/.x11vnc.log -rfbauth $HOME/.vnc/passwd -forever -bg
killed immediately after the user logs in. Here are [154]full details
on how to configure gdm
If you do not want to deal with the display manager startup scripts,
Here is an example what we did on a vanilla install of Solaris:
Make the directory /etc/dt/config:
mkdir -p /etc/dt/config
Copy over the Xconfig file for customization:
cp /usr/dt/config/Xconfig /etc/dt/config/Xconfig
Edit /etc/dt/config/Xconfig and uncomment the line:
Dtlogin*grabServer: False
Next, copy over Xsetup for customization:
cp /usr/dt/config/Xsetup /etc/dt/config/Xsetup
Edit /etc/dt/config/Xsetup and at the bottom put a line like:
/usr/local/bin/x11vnc -forever -o /var/tmp/x11vnc.log -bg
(tweaked to your local setup and preferences, a password via -rfbauth,
etc. would be a very good idea).
Restart the X server and dtlogin:
/etc/init.d/dtlogin stop
/etc/init.d/dtlogin start
(or reboot or maybe just restart the X session).
If you do not want to deal with any display manager startup scripts,
here is a kludgey script that can be run manually or out of a boot
file like rc.local. [155]x11vnc_loop It will need some local
file like rc.local: [155]x11vnc_loop It will need some local
customization before running. Because the XAUTHORITY auth file must be
guessed by this script, use of the display manager script above is
preferred.
@ -2908,6 +2931,9 @@ ied)
If you don't want to hear the beeps use the -nobell option. If you
want to hear the audio from the remote applications, consider trying a
redirector such as esd.
_________________________________________________________________
[PayPal]
References
@ -3090,8 +3116,7 @@ x11vnc: a VNC server for real X displays
Here are all of x11vnc command line options:
% x11vnc -opts (see below for -help long descriptions)
x11vnc: allow VNC connections to real X11 displays. 0.7.1pre lastmod: 2005-02-1
4
x11vnc: allow VNC connections to real X11 displays. 0.7.1 lastmod: 2005-02-22
x11vnc options:
-display disp -auth file
@ -3133,16 +3158,16 @@ x11vnc options:
-input_skip n -speeds rd,bw,lat
-debug_pointer -debug_keyboard
-defer time -wait time
-nap -sb time
-sigpipe string -threads
-nothreads -fs f
-gaps n -grow n
-fuzz n -snapfb
-gui [gui-opts] -remote command
-query variable -sync
-noremote -unsafe
-safer -deny_all
-nap -nonap
-sb time -sigpipe string
-threads -nothreads
-fs f -gaps n
-grow n -fuzz n
-snapfb -gui [gui-opts]
-remote command -query variable
-sync -noremote
-unsafe -safer
-deny_all
libvncserver options:
-rfbport port TCP port for RFB protocol
@ -3166,8 +3191,7 @@ libvncserver options:
% x11vnc -help
x11vnc: allow VNC connections to real X11 displays. 0.7.1pre lastmod: 2005-02-1
4
x11vnc: allow VNC connections to real X11 displays. 0.7.1 lastmod: 2005-02-22
Typical usage is:
@ -3188,7 +3212,7 @@ the name of the machine running x11vnc and N is XXXX - 5900, i.e. usually
"vncviewer hostname:0".
By default x11vnc will not allow the screen to be shared and it will exit
as soon as a client disconnects. See -shared and -forever below to override
as soon as the client disconnects. See -shared and -forever below to override
these protections. See the FAQ on how to tunnel the VNC connection through
an encrypted channel such as ssh(1).
@ -3199,7 +3223,7 @@ For additional info see: http://www.karlrunge.com/x11vnc/
Rudimentary config file support: if the file $HOME/.x11vncrc exists then each
line in it is treated as a single command line option. Disable with -norc.
For each option name, the leading character "-" is not required. E.g. a
line that is either "nap" or "-nap" may be used and are equivalent.
line that is either "forever" or "-forever" may be used and are equivalent.
Likewise "wait 100" or "-wait 100" are acceptable and equivalent lines.
The "#" character comments out to the end of the line in the usual way.
Leading and trailing whitespace is trimmed off. Lines may be continued with
@ -3235,7 +3259,7 @@ Options:
-flashcmap In 8bpp indexed color, let the installed colormap flash
as the pointer moves from window to window (slow).
-notruecolor For 8bpp displays, force indexed color (i.e. a colormap)
even if it looks like 8bpp TrueColor. (rare problem)
even if it looks like 8bpp TrueColor (rare problem).
-visual n Experimental option: probably does not do what you
think. It simply *forces* the visual used for the
framebuffer; this may be a bad thing... (e.g. messes
@ -3243,8 +3267,8 @@ Options:
and for some workarounds. n may be a decimal number,
or 0x hex. Run xdpyinfo(1) for the values. One may
also use "TrueColor", etc. see <X11/X.h> for a list.
If the string ends in ":m" for better or for worse
the visual depth is forced to be m.
If the string ends in ":m" the for better or for
worse the visual depth is forced to be m.
-overlay Handle multiple depth visuals on one screen, e.g. 8+24
and 24+8 overlay visuals (the 32 bits per pixel are
packed with 8 for PseudoColor and 24 for TrueColor).
@ -3272,7 +3296,7 @@ Options:
For optimal performance do not use -overlay, but rather
configure the X server so that the default visual is
depth 24 TrueColor and try to have all apps use that
visual (some apps have -use24 or -visual options).
visual (e.g. some apps have -use24 or -visual options).
-overlay_nocursor Sets -overlay, but does not try to draw the exact mouse
cursor shape using the overlay mechanism.
@ -3349,15 +3373,16 @@ Options:
effect (all input is discarded).
-viewpasswd string Supply a 2nd password for view-only logins. The -passwd
(full-access) password must also be supplied.
-passwdfile filename Specify libvncserver -passwd via the first line of
the file "filename" instead of via command line.
If a second non blank line exists in the file it
is taken as a view-only password (i.e. -viewpasswd)
To supply an empty password for either field use the
string "__EMPTY__". Note: -passwdfile is a simple
plaintext passwd, see also -rfbauth and -storepasswd
below for obfuscated passwords. Neither should be
readable by others.
-passwdfile filename Specify libvncserver -passwd via the first line of the
file "filename" instead of via command line (where
others might see it via ps(1)). If a second non blank
line exists in the file it is taken as a view-only
password (i.e. -viewpasswd) To supply an empty password
for either field the string "__EMPTY__" may be used.
Note: -passwdfile is a simple plaintext passwd, see
also -rfbauth and -storepasswd below for obfuscated
VNC password files. Neither file should be readable
by others.
-storepasswd pass file Store password "pass" as the VNC password in the
file "file". Once the password is stored the
program exits. Use the password via "-rfbauth file"
@ -3427,21 +3452,21 @@ Options:
in -accept. Unlike -accept, the command return code
is not interpreted by x11vnc. Example: -gone 'xlock &'
-users list If x11vnc is started as root (say from inetd(1) or
from display managers xdm(1), gdm(1), etc), then as
soon as possible after connections to the display are
-users list If x11vnc is started as root (say from inetd(1) or from
display managers xdm(1), gdm(1), etc), then as soon
as possible after connections to the X display are
established try to switch to one of the users in the
comma separated "list". If x11vnc is not running as
root this option is ignored.
Why use this option? In general it is not needed
since x11vnc is already connected to the display and
can perform its primary functions. The option was
added to make some of the *external* utility commands
x11vnc occasionally runs work properly. In particular
under GNOME and KDE to implement the "-solid color"
feature external commands (gconftool-2 and dcop) must be
run as the user owning the desktop session. Since this
Why use this option? In general it is not needed since
x11vnc is already connected to the X display and can
perform its primary functions. The option was added
to make some of the *external* utility commands x11vnc
occasionally runs work properly. In particular under
GNOME and KDE to implement the "-solid color" feature
external commands (gconftool-2 and dcop) must be run
as the user owning the desktop session. Since this
option switches userid it also affects the userid used
to run the processes for the -accept and -gone options.
It also affects the ability to read files for options
@ -3462,16 +3487,16 @@ Options:
Under display managers it may be a long time before
the switch succeeds (i.e. a user logs in). To make
it switch immediately regardless if the display
can be reopened prefix the username with the +
can be reopened prefix the username with the "+"
character. E.g. "-users +bob" or "-users +nobody".
The latter (i.e. switching immediately to user
"nobody") is probably the only use of this option
that increases security.
To immediately switch to a user *before* connections to
the display are made or any files opened use the "="
character: "-users =bob". That user needs to be able
to open the display of course.
To immediately switch to a user *before* connections
to the X display are made or any files opened use the
"=" character: "-users =bob". That user needs to
be able to open the X display of course.
The special user "guess=" means to examine the utmpx
database (see who(1)) looking for a user attached to
@ -3484,12 +3509,13 @@ Options:
database as well. So it "lurks" waiting for anyone
to log into an X session and then connects to it.
Specify a list of users after the = to limit which
users will be tried. If the first user in the list
is something like ":0" or ":0-2" that indicates a
range of DISPLAY numbers that will be tried (regardless
of whether they are in the utmpx database) for all
users that are logged in. Examples: "-users lurk="
and "-users lurk=:0-1,bob,mary"
users will be tried. To enable a difference searching
mode, if the first user in the list is something like
":0" or ":0-2" that indicates a range of DISPLAY
numbers that will be tried (regardless of whether
they are in the utmpx database) for all users that
are logged in. Examples: "-users lurk=" and also
"-users lurk=:0-1,bob,mary"
Be especially careful using the "guess=" and "lurk="
modes. They are not recommended for use on machines
@ -3516,7 +3542,7 @@ Options:
and classic X (i.e. with the background image on the
root window). The "gconftool-2" and "dcop" external
commands are run for GNOME and KDE respectively.
Other desktops won't work, e.g. XFCE (send us the
Other desktops won't work, e.g. Xfce (send us the
corresponding commands if you find them). If x11vnc is
running as root (inetd(1) or gdm(1)), the -users option
may be needed for GNOME and KDE. If x11vnc guesses
@ -3529,6 +3555,7 @@ Options:
glued together via XINERAMA, and that screen is
non-rectangular this option will try to guess the
areas to black out (if your system has libXinerama).
In general on XINERAMA displays you may need to use the
-xwarppointer option if the mouse pointer misbehaves.
@ -3541,16 +3568,16 @@ Options:
'xrandr -q' for more info. [mode] is optional and
described below.
Since watching for XRANDR events and errors increases
polling overhead, only use this option if XRANDR changes
are expected. For example on a rotatable screen PDA or
laptop, or using a XRANDR-aware Desktop where you resize
often. It is best to be viewing with a vncviewer that
supports the NewFBSize encoding, since it knows how to
react to screen size changes. Otherwise, libvncserver
tries to do so something reasonable for viewers that
cannot do this (portions of the screen may be clipped,
unused, etc).
Since watching for XRANDR events and trapping errors
increases polling overhead, only use this option if
XRANDR changes are expected. For example on a rotatable
screen PDA or laptop, or using a XRANDR-aware Desktop
where you resize often. It is best to be viewing with a
vncviewer that supports the NewFBSize encoding, since it
knows how to react to screen size changes. Otherwise,
libvncserver tries to do so something reasonable for
viewers that cannot do this (portions of the screen
may be clipped, unused, etc).
"mode" defaults to "resize", which means create a
new, resized, framebuffer and hope all viewers can cope
@ -3566,7 +3593,7 @@ Options:
that do not support NewFBSize and one wants to make
sure the initial viewer geometry will be big enough
to handle all subsequent resizes (e.g. under -xrandr,
-remote id:windowid, rescaling, etc.
-remote id:windowid, rescaling, etc.)
-o logfile Write stderr messages to file "logfile" instead of
to the terminal. Same as "-logfile file". To append
@ -3575,7 +3602,7 @@ Options:
-norc Do not process any .x11vncrc file for options.
-h, -help Print this help text.
-?, -opts Only list the x11vnc options.
-V, -version Print program version (last modification date).
-V, -version Print program version and last modification date.
-q Be quiet by printing less informational output to
stderr. Same as -quiet.
@ -3606,11 +3633,11 @@ Options:
reverse problem it tries to solve: Keysym -> Keycode(s)
when ambiguities exist (more than one Keycode per
Keysym). Run 'xmodmap -pk' to see your keymapping.
E.g. "-skip_keycodes 94,114"
Example: "-skip_keycodes 94,114"
-add_keysyms If a Keysym is received from a VNC viewer and
that Keysym does not exist in the X server, then
add the Keysym to the X server's keyboard mapping.
Added Keysyms will be removed when exiting.
Added Keysyms will be removed when x11vnc exits.
-clear_mods At startup and exit clear the modifier keys by sending
KeyRelease for each one. The Lock modifiers are skipped.
Used to clear the state if the display was accidentally
@ -3623,10 +3650,10 @@ Options:
or hex value) separated by a space. If no file named
"string" exists, it is instead interpreted as this
form: key1-key2,key3-key4,... See <X11/keysymdef.h>
header file for a list of Keysym names, or use
xev(1). To map a key to a button click, use the
fake Keysyms "Button1", ..., etc. E.g. "-remap
Super_R-Button2" (useful for pasting on a laptop)
header file for a list of Keysym names, or use xev(1).
To map a key to a button click, use the fake Keysyms
"Button1", ..., etc. E.g: "-remap Super_R-Button2"
(useful for pasting on a laptop)
-norepeat Option -norepeat disables X server key auto repeat
-repeat when VNC clients are connected. This works around a
repeating keystrokes bug (triggered by long processing
@ -3681,9 +3708,9 @@ Options:
Note that under XFIXES cursors with transparency (alpha
channel) will not be exactly represented and one may
find Overlay may be preferable. See also the -alphacut
and -alphafrac options below as fudge factors to try
to improve the situation for cursors with transparency
find Overlay preferable. See also the -alphacut and
-alphafrac options below as fudge factors to try to
improve the situation for cursors with transparency
for a given theme.
The "mode" string can be used to fine-tune the
@ -3872,8 +3899,9 @@ Options:
(deferUpdateTime) Default: 30
-wait time Time in ms to pause between screen polls. Used to cut
down on load. Default: 30
-nap Monitor activity and if low take longer naps between
polls to really cut down load when idle. Default: off
-nap Monitor activity and if it is low take longer naps
-nonap between screen polls to really cut down load when idle.
Default: take naps
-sb time Time in seconds after NO activity (e.g. screen blank)
to really throttle down the screen polls (i.e. sleep
for about 1.5 secs). Use 0 to disable. Default: 60
@ -3990,7 +4018,7 @@ Options:
The following -remote/-R commands are supported:
stop terminate the server, same as "quit"
"exit" or "shutdown"
"exit" or "shutdown".
ping see if the x11vnc server responds.
Return is: ans=ping:<xdisplay>
blacken try to push a black fb update to all

@ -477,7 +477,7 @@ if {$beginner_mode} {
set helptext(gui) "
tkx11vnc is a simple frontend to x11vnc. It is currently running in
\"ez\" or \"simple\" mode. For many more options run it in normal
mode buy toggling \"Misc -> simple_gui\".
mode by toggling \"Misc -> simple_gui\".
All menu items have a (?) button one can click on to get more information
about the option or command.
@ -666,6 +666,7 @@ proc active_when_starting {item} {
proc help_win {item} {
global helptext helpremote menu_var
global query_ans query_aro
global beginner_mode
set ok 0
set text "Help on $item:\n\n"
@ -686,7 +687,9 @@ proc help_win {item} {
} elseif {[active_when_starting $item]} {
append text " + Can be set at x11vnc startup.\n";
} else {
append text " - Cannot be set at x11vnc startup.\n";
if {! $beginner_mode} {
append text " - Cannot be set at x11vnc startup.\n";
}
}
append text "\n"

@ -483,7 +483,7 @@
" set helptext(gui) \"\n"
"tkx11vnc is a simple frontend to x11vnc. It is currently running in\n"
"\\\"ez\\\" or \\\"simple\\\" mode. For many more options run it in normal\n"
"mode buy toggling \\\"Misc -> simple_gui\\\".\n"
"mode by toggling \\\"Misc -> simple_gui\\\".\n"
"\n"
"All menu items have a (?) button one can click on to get more information\n"
"about the option or command.\n"
@ -672,6 +672,7 @@
"proc help_win {item} {\n"
" global helptext helpremote menu_var\n"
" global query_ans query_aro\n"
" global beginner_mode\n"
"\n"
" set ok 0\n"
" set text \"Help on $item:\\n\\n\"\n"
@ -692,7 +693,9 @@
" } elseif {[active_when_starting $item]} {\n"
" append text \" + Can be set at x11vnc startup.\\n\";\n"
" } else {\n"
" append text \" - Cannot be set at x11vnc startup.\\n\";\n"
" if {! $beginner_mode} {\n"
" append text \" - Cannot be set at x11vnc startup.\\n\";\n"
" }\n"
" }\n"
" append text \"\\n\"\n"
"\n"

@ -2,7 +2,7 @@
.TH X11VNC "1" "February 2005" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.7.1pre, lastmod: 2005-02-14
version: 0.7.1, lastmod: 2005-02-22
.SH SYNOPSIS
.B x11vnc
[OPTION]...
@ -27,7 +27,7 @@ the name of the machine running x11vnc and N is XXXX - 5900, i.e. usually
"vncviewer hostname:0".
.PP
By default x11vnc will not allow the screen to be shared and it will exit
as soon as a client disconnects. See \fB-shared\fR and \fB-forever\fR below to override
as soon as the client disconnects. See \fB-shared\fR and \fB-forever\fR below to override
these protections. See the FAQ on how to tunnel the VNC connection through
an encrypted channel such as
.IR ssh (1).
@ -38,7 +38,7 @@ and http://www.karlrunge.com/x11vnc/#faq
Rudimentary config file support: if the file $HOME/.x11vncrc exists then each
line in it is treated as a single command line option. Disable with \fB-norc.\fR
For each option name, the leading character "-" is not required. E.g. a
line that is either "nap" or "\fB-nap\fR" may be used and are equivalent.
line that is either "forever" or "\fB-forever\fR" may be used and are equivalent.
Likewise "wait 100" or "\fB-wait\fR \fI100\fR" are acceptable and equivalent lines.
The "#" character comments out to the end of the line in the usual way.
Leading and trailing whitespace is trimmed off. Lines may be continued with
@ -97,7 +97,7 @@ as the pointer moves from window to window (slow).
\fB-notruecolor\fR
.IP
For 8bpp displays, force indexed color (i.e. a colormap)
even if it looks like 8bpp TrueColor. (rare problem)
even if it looks like 8bpp TrueColor (rare problem).
.PP
\fB-visual\fR \fIn\fR
.IP
@ -110,8 +110,8 @@ or 0x hex. Run
.IR xdpyinfo (1)
for the values. One may
also use "TrueColor", etc. see <X11/X.h> for a list.
If the string ends in ":m" for better or for worse
the visual depth is forced to be m.
If the string ends in ":m" the for better or for
worse the visual depth is forced to be m.
.PP
\fB-overlay\fR
.IP
@ -144,7 +144,7 @@ due to the extra image transformations required.
For optimal performance do not use \fB-overlay,\fR but rather
configure the X server so that the default visual is
depth 24 TrueColor and try to have all apps use that
visual (some apps have \fB-use24\fR or \fB-visual\fR options).
visual (e.g. some apps have \fB-use24\fR or \fB-visual\fR options).
.PP
\fB-overlay_nocursor\fR
.IP
@ -272,15 +272,18 @@ Supply a 2nd password for view-only logins. The \fB-passwd\fR
.PP
\fB-passwdfile\fR \fIfilename\fR
.IP
Specify libvncserver \fB-passwd\fR via the first line of
the file \fIfilename\fR instead of via command line.
If a second non blank line exists in the file it
is taken as a view-only password (i.e. \fB-viewpasswd)\fR
To supply an empty password for either field use the
string "__EMPTY__". Note: \fB-passwdfile\fR is a simple
plaintext passwd, see also \fB-rfbauth\fR and \fB-storepasswd\fR
below for obfuscated passwords. Neither should be
readable by others.
Specify libvncserver \fB-passwd\fR via the first line of the
file \fIfilename\fR instead of via command line (where
others might see it via
.IR ps (1)
). If a second non blank
line exists in the file it is taken as a view-only
password (i.e. \fB-viewpasswd)\fR To supply an empty password
for either field the string "__EMPTY__" may be used.
Note: \fB-passwdfile\fR is a simple plaintext passwd, see
also \fB-rfbauth\fR and \fB-storepasswd\fR below for obfuscated
VNC password files. Neither file should be readable
by others.
.PP
\fB-storepasswd\fR \fIpass\fR \fIfile\fR
.IP
@ -372,25 +375,25 @@ is not interpreted by x11vnc. Example: \fB-gone\fR 'xlock &'
.IP
If x11vnc is started as root (say from
.IR inetd (1)
or
from display managers
or from
display managers
.IR xdm (1)
,
.IR gdm (1)
, etc), then as
soon as possible after connections to the display are
, etc), then as soon
as possible after connections to the X display are
established try to switch to one of the users in the
comma separated \fIlist\fR. If x11vnc is not running as
root this option is ignored.
.IP
Why use this option? In general it is not needed
since x11vnc is already connected to the display and
can perform its primary functions. The option was
added to make some of the *external* utility commands
x11vnc occasionally runs work properly. In particular
under GNOME and KDE to implement the "\fB-solid\fR \fIcolor\fR"
feature external commands (gconftool-2 and dcop) must be
run as the user owning the desktop session. Since this
Why use this option? In general it is not needed since
x11vnc is already connected to the X display and can
perform its primary functions. The option was added
to make some of the *external* utility commands x11vnc
occasionally runs work properly. In particular under
GNOME and KDE to implement the "\fB-solid\fR \fIcolor\fR" feature
external commands (gconftool-2 and dcop) must be run
as the user owning the desktop session. Since this
option switches userid it also affects the userid used
to run the processes for the \fB-accept\fR and \fB-gone\fR options.
It also affects the ability to read files for options
@ -411,16 +414,16 @@ to user "fred". What happens next?
Under display managers it may be a long time before
the switch succeeds (i.e. a user logs in). To make
it switch immediately regardless if the display
can be reopened prefix the username with the +
can be reopened prefix the username with the "+"
character. E.g. "\fB-users\fR \fI+bob\fR" or "\fB-users\fR \fI+nobody\fR".
The latter (i.e. switching immediately to user
"nobody") is probably the only use of this option
that increases security.
.IP
To immediately switch to a user *before* connections to
the display are made or any files opened use the "="
character: "\fB-users\fR \fI=bob\fR". That user needs to be able
to open the display of course.
To immediately switch to a user *before* connections
to the X display are made or any files opened use the
"=" character: "\fB-users\fR \fI=bob\fR". That user needs to
be able to open the X display of course.
.IP
The special user "guess=" means to examine the utmpx
database (see
@ -435,12 +438,13 @@ means to try to guess the DISPLAY from the utmpx login
database as well. So it "lurks" waiting for anyone
to log into an X session and then connects to it.
Specify a list of users after the = to limit which
users will be tried. If the first user in the list
is something like ":0" or ":0-2" that indicates a
range of DISPLAY numbers that will be tried (regardless
of whether they are in the utmpx database) for all
users that are logged in. Examples: "\fB-users\fR \fIlurk=\fR"
and "\fB-users\fR \fIlurk=:0-1,bob,mary\fR"
users will be tried. To enable a difference searching
mode, if the first user in the list is something like
":0" or ":0-2" that indicates a range of DISPLAY
numbers that will be tried (regardless of whether
they are in the utmpx database) for all users that
are logged in. Examples: "\fB-users\fR \fIlurk=\fR" and also
"\fB-users\fR \fIlurk=:0-1,bob,mary\fR"
.IP
Be especially careful using the "guess=" and "lurk="
modes. They are not recommended for use on machines
@ -477,7 +481,7 @@ Currently this option only works on GNOME, KDE, CDE,
and classic X (i.e. with the background image on the
root window). The "gconftool-2" and "dcop" external
commands are run for GNOME and KDE respectively.
Other desktops won't work, e.g. XFCE (send us the
Other desktops won't work, e.g. Xfce (send us the
corresponding commands if you find them). If x11vnc is
running as root (
.IR inetd (1)
@ -500,6 +504,7 @@ If your screen is composed of multiple monitors
glued together via XINERAMA, and that screen is
non-rectangular this option will try to guess the
areas to black out (if your system has libXinerama).
.IP
In general on XINERAMA displays you may need to use the
\fB-xwarppointer\fR option if the mouse pointer misbehaves.
.PP
@ -516,16 +521,16 @@ manpage and run
\'xrandr \fB-q'\fR for more info. [mode] is optional and
described below.
.IP
Since watching for XRANDR events and errors increases
polling overhead, only use this option if XRANDR changes
are expected. For example on a rotatable screen PDA or
laptop, or using a XRANDR-aware Desktop where you resize
often. It is best to be viewing with a vncviewer that
supports the NewFBSize encoding, since it knows how to
react to screen size changes. Otherwise, libvncserver
tries to do so something reasonable for viewers that
cannot do this (portions of the screen may be clipped,
unused, etc).
Since watching for XRANDR events and trapping errors
increases polling overhead, only use this option if
XRANDR changes are expected. For example on a rotatable
screen PDA or laptop, or using a XRANDR-aware Desktop
where you resize often. It is best to be viewing with a
vncviewer that supports the NewFBSize encoding, since it
knows how to react to screen size changes. Otherwise,
libvncserver tries to do so something reasonable for
viewers that cannot do this (portions of the screen
may be clipped, unused, etc).
.IP
"mode" defaults to "resize", which means create a
new, resized, framebuffer and hope all viewers can cope
@ -544,7 +549,7 @@ real one. This is intended for use with vncviewers
that do not support NewFBSize and one wants to make
sure the initial viewer geometry will be big enough
to handle all subsequent resizes (e.g. under \fB-xrandr,\fR
\fB-remote\fR id:windowid, rescaling, etc.
\fB-remote\fR id:windowid, rescaling, etc.)
.PP
\fB-o\fR \fIlogfile\fR
.IP
@ -567,7 +572,7 @@ Print this help text.
.PP
\fB-V,\fR \fB-version\fR
.IP
Print program version (last modification date).
Print program version and last modification date.
.PP
\fB-q\fR
.IP
@ -615,14 +620,14 @@ to \fB-xkb\fR mode. Use this option to help x11vnc in the
reverse problem it tries to solve: Keysym -> Keycode(s)
when ambiguities exist (more than one Keycode per
Keysym). Run 'xmodmap \fB-pk'\fR to see your keymapping.
E.g. "\fB-skip_keycodes\fR \fI94,114\fR"
Example: "\fB-skip_keycodes\fR \fI94,114\fR"
.PP
\fB-add_keysyms\fR
.IP
If a Keysym is received from a VNC viewer and
that Keysym does not exist in the X server, then
add the Keysym to the X server's keyboard mapping.
Added Keysyms will be removed when exiting.
Added Keysyms will be removed when x11vnc exits.
.PP
\fB-clear_mods\fR
.IP
@ -644,11 +649,11 @@ Format is one pair of Keysyms per line (can be name
or hex value) separated by a space. If no file named
\fIstring\fR exists, it is instead interpreted as this
form: key1-key2,key3-key4,... See <X11/keysymdef.h>
header file for a list of Keysym names, or use
header file for a list of Keysym names, or use
.IR xev (1).
To map a key to a button click, use the
fake Keysyms "Button1", ..., etc. E.g. "-remap
Super_R-Button2" (useful for pasting on a laptop)
To map a key to a button click, use the fake Keysyms
"Button1", ..., etc. E.g: "\fB-remap\fR \fISuper_R-Button2\fR"
(useful for pasting on a laptop)
.PP
\fB-norepeat,\fR \fB-repeat\fR
.IP
@ -719,9 +724,9 @@ option below.
.IP
Note that under XFIXES cursors with transparency (alpha
channel) will not be exactly represented and one may
find Overlay may be preferable. See also the \fB-alphacut\fR
and \fB-alphafrac\fR options below as fudge factors to try
to improve the situation for cursors with transparency
find Overlay preferable. See also the \fB-alphacut\fR and
\fB-alphafrac\fR options below as fudge factors to try to
improve the situation for cursors with transparency
for a given theme.
.IP
The "mode" string can be used to fine-tune the
@ -964,8 +969,12 @@ down on load. Default: 30
.PP
\fB-nap\fR
.IP
Monitor activity and if low take longer naps between
polls to really cut down load when idle. Default: off
Monitor activity and if it is low take longer naps
.PP
\fB-nonap\fR
.IP
between screen polls to really cut down load when idle.
Default: take naps
.PP
\fB-sb\fR \fItime\fR
.IP
@ -1109,7 +1118,7 @@ Please report reproducible bugs.
The following \fB-remote/-R\fR commands are supported:
.IP
stop terminate the server, same as "quit"
"exit" or "shutdown"
"exit" or "shutdown".
.IP
ping see if the x11vnc server responds.
Return is: ans=ping:<xdisplay>

@ -290,7 +290,7 @@ static int xdamage_base_event_type;
#endif
/* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.7.1pre lastmod: 2005-02-14";
char lastmod[] = "0.7.1 lastmod: 2005-02-22";
/* X display info */
@ -657,8 +657,8 @@ int defer_update = 30; /* deferUpdateTime ms to wait before sends. */
int screen_blank = 60; /* number of seconds of no activity to throttle */
/* down the screen polls. zero to disable. */
int take_naps = 0;
int naptile = 3; /* tile change threshold per poll to take a nap */
int take_naps = 1; /* -nap/-nonap */
int naptile = 4; /* tile change threshold per poll to take a nap */
int napfac = 4; /* time = napfac*waitms, cut load with extra waits */
int napmax = 1500; /* longest nap in ms. */
int ui_skip = 10; /* see watchloop. negative means ignore input */
@ -16411,7 +16411,7 @@ static void print_help(int mode) {
"\"vncviewer hostname:0\".\n"
"\n"
"By default x11vnc will not allow the screen to be shared and it will exit\n"
"as soon as a client disconnects. See -shared and -forever below to override\n"
"as soon as the client disconnects. See -shared and -forever below to override\n"
"these protections. See the FAQ on how to tunnel the VNC connection through\n"
"an encrypted channel such as ssh(1).\n"
"\n"
@ -16422,7 +16422,7 @@ static void print_help(int mode) {
"Rudimentary config file support: if the file $HOME/.x11vncrc exists then each\n"
"line in it is treated as a single command line option. Disable with -norc.\n"
"For each option name, the leading character \"-\" is not required. E.g. a\n"
"line that is either \"nap\" or \"-nap\" may be used and are equivalent.\n"
"line that is either \"forever\" or \"-forever\" may be used and are equivalent.\n"
"Likewise \"wait 100\" or \"-wait 100\" are acceptable and equivalent lines.\n"
"The \"#\" character comments out to the end of the line in the usual way.\n"
"Leading and trailing whitespace is trimmed off. Lines may be continued with\n"
@ -16458,7 +16458,7 @@ static void print_help(int mode) {
"-flashcmap In 8bpp indexed color, let the installed colormap flash\n"
" as the pointer moves from window to window (slow).\n"
"-notruecolor For 8bpp displays, force indexed color (i.e. a colormap)\n"
" even if it looks like 8bpp TrueColor. (rare problem)\n"
" even if it looks like 8bpp TrueColor (rare problem).\n"
"-visual n Experimental option: probably does not do what you\n"
" think. It simply *forces* the visual used for the\n"
" framebuffer; this may be a bad thing... (e.g. messes\n"
@ -16466,8 +16466,8 @@ static void print_help(int mode) {
" and for some workarounds. n may be a decimal number,\n"
" or 0x hex. Run xdpyinfo(1) for the values. One may\n"
" also use \"TrueColor\", etc. see <X11/X.h> for a list.\n"
" If the string ends in \":m\" for better or for worse\n"
" the visual depth is forced to be m.\n"
" If the string ends in \":m\" the for better or for\n"
" worse the visual depth is forced to be m.\n"
"-overlay Handle multiple depth visuals on one screen, e.g. 8+24\n"
" and 24+8 overlay visuals (the 32 bits per pixel are\n"
" packed with 8 for PseudoColor and 24 for TrueColor).\n"
@ -16495,7 +16495,7 @@ static void print_help(int mode) {
" For optimal performance do not use -overlay, but rather\n"
" configure the X server so that the default visual is\n"
" depth 24 TrueColor and try to have all apps use that\n"
" visual (some apps have -use24 or -visual options).\n"
" visual (e.g. some apps have -use24 or -visual options).\n"
"-overlay_nocursor Sets -overlay, but does not try to draw the exact mouse\n"
" cursor shape using the overlay mechanism.\n"
"\n"
@ -16572,15 +16572,16 @@ static void print_help(int mode) {
" effect (all input is discarded).\n"
"-viewpasswd string Supply a 2nd password for view-only logins. The -passwd\n"
" (full-access) password must also be supplied.\n"
"-passwdfile filename Specify libvncserver -passwd via the first line of\n"
" the file \"filename\" instead of via command line.\n"
" If a second non blank line exists in the file it\n"
" is taken as a view-only password (i.e. -viewpasswd)\n"
" To supply an empty password for either field use the\n"
" string \"__EMPTY__\". Note: -passwdfile is a simple\n"
" plaintext passwd, see also -rfbauth and -storepasswd\n"
" below for obfuscated passwords. Neither should be\n"
" readable by others.\n"
"-passwdfile filename Specify libvncserver -passwd via the first line of the\n"
" file \"filename\" instead of via command line (where\n"
" others might see it via ps(1)). If a second non blank\n"
" line exists in the file it is taken as a view-only\n"
" password (i.e. -viewpasswd) To supply an empty password\n"
" for either field the string \"__EMPTY__\" may be used.\n"
" Note: -passwdfile is a simple plaintext passwd, see\n"
" also -rfbauth and -storepasswd below for obfuscated\n"
" VNC password files. Neither file should be readable\n"
" by others.\n"
"-storepasswd pass file Store password \"pass\" as the VNC password in the\n"
" file \"file\". Once the password is stored the\n"
" program exits. Use the password via \"-rfbauth file\"\n"
@ -16650,21 +16651,21 @@ static void print_help(int mode) {
" in -accept. Unlike -accept, the command return code\n"
" is not interpreted by x11vnc. Example: -gone 'xlock &'\n"
"\n"
"-users list If x11vnc is started as root (say from inetd(1) or\n"
" from display managers xdm(1), gdm(1), etc), then as\n"
" soon as possible after connections to the display are\n"
"-users list If x11vnc is started as root (say from inetd(1) or from\n"
" display managers xdm(1), gdm(1), etc), then as soon\n"
" as possible after connections to the X display are\n"
" established try to switch to one of the users in the\n"
" comma separated \"list\". If x11vnc is not running as\n"
" root this option is ignored.\n"
" \n"
" Why use this option? In general it is not needed\n"
" since x11vnc is already connected to the display and\n"
" can perform its primary functions. The option was\n"
" added to make some of the *external* utility commands\n"
" x11vnc occasionally runs work properly. In particular\n"
" under GNOME and KDE to implement the \"-solid color\"\n"
" feature external commands (gconftool-2 and dcop) must be\n"
" run as the user owning the desktop session. Since this\n"
" Why use this option? In general it is not needed since\n"
" x11vnc is already connected to the X display and can\n"
" perform its primary functions. The option was added\n"
" to make some of the *external* utility commands x11vnc\n"
" occasionally runs work properly. In particular under\n"
" GNOME and KDE to implement the \"-solid color\" feature\n"
" external commands (gconftool-2 and dcop) must be run\n"
" as the user owning the desktop session. Since this\n"
" option switches userid it also affects the userid used\n"
" to run the processes for the -accept and -gone options.\n"
" It also affects the ability to read files for options\n"
@ -16685,16 +16686,16 @@ static void print_help(int mode) {
" Under display managers it may be a long time before\n"
" the switch succeeds (i.e. a user logs in). To make\n"
" it switch immediately regardless if the display\n"
" can be reopened prefix the username with the +\n"
" can be reopened prefix the username with the \"+\"\n"
" character. E.g. \"-users +bob\" or \"-users +nobody\".\n"
" The latter (i.e. switching immediately to user\n"
" \"nobody\") is probably the only use of this option\n"
" that increases security.\n"
" \n"
" To immediately switch to a user *before* connections to\n"
" the display are made or any files opened use the \"=\"\n"
" character: \"-users =bob\". That user needs to be able\n"
" to open the display of course.\n"
" To immediately switch to a user *before* connections\n"
" to the X display are made or any files opened use the\n"
" \"=\" character: \"-users =bob\". That user needs to\n"
" be able to open the X display of course.\n"
" \n"
" The special user \"guess=\" means to examine the utmpx\n"
" database (see who(1)) looking for a user attached to\n"
@ -16707,12 +16708,13 @@ static void print_help(int mode) {
" database as well. So it \"lurks\" waiting for anyone\n"
" to log into an X session and then connects to it.\n"
" Specify a list of users after the = to limit which\n"
" users will be tried. If the first user in the list\n"
" is something like \":0\" or \":0-2\" that indicates a\n"
" range of DISPLAY numbers that will be tried (regardless\n"
" of whether they are in the utmpx database) for all\n"
" users that are logged in. Examples: \"-users lurk=\"\n"
" and \"-users lurk=:0-1,bob,mary\"\n"
" users will be tried. To enable a difference searching\n"
" mode, if the first user in the list is something like\n"
" \":0\" or \":0-2\" that indicates a range of DISPLAY\n"
" numbers that will be tried (regardless of whether\n"
" they are in the utmpx database) for all users that\n"
" are logged in. Examples: \"-users lurk=\" and also\n"
" \"-users lurk=:0-1,bob,mary\"\n"
" \n"
" Be especially careful using the \"guess=\" and \"lurk=\"\n"
" modes. They are not recommended for use on machines\n"
@ -16739,7 +16741,7 @@ static void print_help(int mode) {
" and classic X (i.e. with the background image on the\n"
" root window). The \"gconftool-2\" and \"dcop\" external\n"
" commands are run for GNOME and KDE respectively.\n"
" Other desktops won't work, e.g. XFCE (send us the\n"
" Other desktops won't work, e.g. Xfce (send us the\n"
" corresponding commands if you find them). If x11vnc is\n"
" running as root (inetd(1) or gdm(1)), the -users option\n"
" may be needed for GNOME and KDE. If x11vnc guesses\n"
@ -16752,6 +16754,7 @@ static void print_help(int mode) {
" glued together via XINERAMA, and that screen is\n"
" non-rectangular this option will try to guess the\n"
" areas to black out (if your system has libXinerama).\n"
"\n"
" In general on XINERAMA displays you may need to use the\n"
" -xwarppointer option if the mouse pointer misbehaves.\n"
"\n"
@ -16764,16 +16767,16 @@ static void print_help(int mode) {
" 'xrandr -q' for more info. [mode] is optional and\n"
" described below.\n"
"\n"
" Since watching for XRANDR events and errors increases\n"
" polling overhead, only use this option if XRANDR changes\n"
" are expected. For example on a rotatable screen PDA or\n"
" laptop, or using a XRANDR-aware Desktop where you resize\n"
" often. It is best to be viewing with a vncviewer that\n"
" supports the NewFBSize encoding, since it knows how to\n"
" react to screen size changes. Otherwise, libvncserver\n"
" tries to do so something reasonable for viewers that\n"
" cannot do this (portions of the screen may be clipped,\n"
" unused, etc).\n"
" Since watching for XRANDR events and trapping errors\n"
" increases polling overhead, only use this option if\n"
" XRANDR changes are expected. For example on a rotatable\n"
" screen PDA or laptop, or using a XRANDR-aware Desktop\n"
" where you resize often. It is best to be viewing with a\n"
" vncviewer that supports the NewFBSize encoding, since it\n"
" knows how to react to screen size changes. Otherwise,\n"
" libvncserver tries to do so something reasonable for\n"
" viewers that cannot do this (portions of the screen\n"
" may be clipped, unused, etc).\n"
"\n"
" \"mode\" defaults to \"resize\", which means create a\n"
" new, resized, framebuffer and hope all viewers can cope\n"
@ -16789,7 +16792,7 @@ static void print_help(int mode) {
" that do not support NewFBSize and one wants to make\n"
" sure the initial viewer geometry will be big enough\n"
" to handle all subsequent resizes (e.g. under -xrandr,\n"
" -remote id:windowid, rescaling, etc.\n"
" -remote id:windowid, rescaling, etc.)\n"
"\n"
"-o logfile Write stderr messages to file \"logfile\" instead of\n"
" to the terminal. Same as \"-logfile file\". To append\n"
@ -16798,7 +16801,7 @@ static void print_help(int mode) {
"-norc Do not process any .x11vncrc file for options.\n"
"-h, -help Print this help text.\n"
"-?, -opts Only list the x11vnc options.\n"
"-V, -version Print program version (last modification date).\n"
"-V, -version Print program version and last modification date.\n"
"\n"
"-q Be quiet by printing less informational output to\n"
" stderr. Same as -quiet.\n"
@ -16833,11 +16836,11 @@ static void print_help(int mode) {
" reverse problem it tries to solve: Keysym -> Keycode(s)\n"
" when ambiguities exist (more than one Keycode per\n"
" Keysym). Run 'xmodmap -pk' to see your keymapping.\n"
" E.g. \"-skip_keycodes 94,114\"\n"
" Example: \"-skip_keycodes 94,114\"\n"
"-add_keysyms If a Keysym is received from a VNC viewer and\n"
" that Keysym does not exist in the X server, then\n"
" add the Keysym to the X server's keyboard mapping.\n"
" Added Keysyms will be removed when exiting.\n"
" Added Keysyms will be removed when x11vnc exits.\n"
#if 0
"-xkbcompat Ignore the XKEYBOARD extension. Use as a workaround for\n"
" some keyboard mapping problems. E.g. if you are using\n"
@ -16858,10 +16861,10 @@ static void print_help(int mode) {
" or hex value) separated by a space. If no file named\n"
" \"string\" exists, it is instead interpreted as this\n"
" form: key1-key2,key3-key4,... See <X11/keysymdef.h>\n"
" header file for a list of Keysym names, or use\n"
" xev(1). To map a key to a button click, use the\n"
" fake Keysyms \"Button1\", ..., etc. E.g. \"-remap\n"
" Super_R-Button2\" (useful for pasting on a laptop)\n"
" header file for a list of Keysym names, or use xev(1).\n"
" To map a key to a button click, use the fake Keysyms\n"
" \"Button1\", ..., etc. E.g: \"-remap Super_R-Button2\"\n"
" (useful for pasting on a laptop)\n"
"-norepeat Option -norepeat disables X server key auto repeat\n"
"-repeat when VNC clients are connected. This works around a\n"
" repeating keystrokes bug (triggered by long processing\n"
@ -16916,9 +16919,9 @@ static void print_help(int mode) {
" \n"
" Note that under XFIXES cursors with transparency (alpha\n"
" channel) will not be exactly represented and one may\n"
" find Overlay may be preferable. See also the -alphacut\n"
" and -alphafrac options below as fudge factors to try\n"
" to improve the situation for cursors with transparency\n"
" find Overlay preferable. See also the -alphacut and\n"
" -alphafrac options below as fudge factors to try to\n"
" improve the situation for cursors with transparency\n"
" for a given theme.\n"
"\n"
" The \"mode\" string can be used to fine-tune the\n"
@ -17107,8 +17110,9 @@ static void print_help(int mode) {
" (deferUpdateTime) Default: %d\n"
"-wait time Time in ms to pause between screen polls. Used to cut\n"
" down on load. Default: %d\n"
"-nap Monitor activity and if low take longer naps between\n"
" polls to really cut down load when idle. Default: %s\n"
"-nap Monitor activity and if it is low take longer naps\n"
"-nonap between screen polls to really cut down load when idle.\n"
" Default: %s\n"
"-sb time Time in seconds after NO activity (e.g. screen blank)\n"
" to really throttle down the screen polls (i.e. sleep\n"
" for about 1.5 secs). Use 0 to disable. Default: %d\n"
@ -17225,7 +17229,7 @@ static void print_help(int mode) {
" The following -remote/-R commands are supported:\n"
"\n"
" stop terminate the server, same as \"quit\"\n"
" \"exit\" or \"shutdown\"\n"
" \"exit\" or \"shutdown\".\n"
" ping see if the x11vnc server responds.\n"
" Return is: ans=ping:<xdisplay>\n"
" blacken try to push a black fb update to all\n"
@ -17579,7 +17583,7 @@ static void print_help(int mode) {
ui_skip,
defer_update,
waitms,
take_naps ? "on":"off",
take_naps ? "take naps":"no naps",
screen_blank,
use_threads ? "-threads":"-nothreads",
fs_frac,
@ -18278,6 +18282,8 @@ int main(int argc, char* argv[]) {
waitms = atoi(argv[++i]);
} else if (!strcmp(arg, "-nap")) {
take_naps = 1;
} else if (!strcmp(arg, "-nonap")) {
take_naps = 0;
} else if (!strcmp(arg, "-sb")) {
CHECK_ARGC
screen_blank = atoi(argv[++i]);
@ -18663,7 +18669,7 @@ int main(int argc, char* argv[]) {
fprintf(stderr, " logfile: %s\n", logfile ? logfile
: "null");
fprintf(stderr, " logappend: %d\n", logfile_append);
fprintf(stderr, " rc_file: %s\n", rc_rcfile ? rc_rcfile
fprintf(stderr, " rc_file: \"%s\"\n", rc_rcfile ? rc_rcfile
: "null");
fprintf(stderr, " norc: %d\n", rc_norc);
fprintf(stderr, " bg: %d\n", bg);

Loading…
Cancel
Save