1
.\" Hey, EMACS: -*- nroff -*-
2
.\" First parameter, NAME, should be all caps
3
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
4
.\" other parameters are allowed: see man(7), man(1)
5
.TH IVS 1 "November 20, 2005"
7
ivs \- part of the italc-client package
12
is a frontend for the vnc connection between the two machines.
17
X11 server display to connect to, usually :0. The X
18
server process must be running on same machine and
19
support MIT-SHM. Equivalent to setting the DISPLAY
20
environment variable to "disp".
23
Set the X authority file to be "file", equivalent to
24
setting the XAUTHORITY environment varirable to "file"
25
before startup. See Xsecurity(7), xauth(1) man pages.
28
Show the window corresponding to <windowid> not the
29
entire display. Warning: bugs! new toplevels missed!...
32
In 8bpp indexed color, let the installed colormap flash
33
as the pointer moves from window to window (slow).
36
Force 8bpp indexed color even if it looks like TrueColor.
39
Experimental option: probably does not do what you
40
think. It simply *forces* the visual used for the
41
framebuffer; this may be a bad thing... It is useful for
42
testing and for some workarounds. n may be a decimal
43
number, or 0x hex. Run xdpyinfo(1) for the values.
44
One may also use "TrueColor", etc. see <X11/X.h>
45
for a list. If the string ends in ":m" for better
46
or for worse the visual depth is forced to be m.
49
Scale the framebuffer by factor "fraction". Values
50
less than 1 shrink the fb. Note: image may not be sharp
51
and response may be slower. If "fraction" contains
52
a decimal point "." it is taken as a floating point
53
number, alternatively the notation "m/n" may be used
54
to denote fractions, e.g. -scale 2/3.
56
Scaling Options: can be added after fraction via ":",
57
to supply multiple ":" options use commas.
58
If you just want a quick, rough scaling without
59
blending, append ":nb" to "fraction" (e.g. -scale
60
1/3:nb). For compatibility with vncviewers the scaled
61
width is adjusted to be a multiple of 4, to disable
62
this use ":n4". More esoteric options: ":in" use
63
interpolation scheme even when shrinking, ":pad",
64
pad scaled width and height to be multiples of scaling
65
denominator (e.g. 3 for 2/3).
68
All VNC clients can only watch (default off).
71
VNC display is shared (default off).
74
Exit after the first successfully connected viewer
75
disconnects, opposite of -forever. This is the Default.
78
Keep listening for more connections rather than exiting
79
as soon as the first client(s) disconnect. Same as -many
82
For use with "vncviewer -listen" reverse connections.
83
If string has the form "host" or "host:port"
84
the connection is made once at startup. Use commas
85
for a list of host's and host:port's. If string
86
contains "/" it is instead interpreted as a file to
87
periodically check for new hosts. The first line is
88
read and then the file is truncated.
91
Monitor the VNC_CONNECT X property set by the standard
92
VNC program vncconnect(1). When the property is set
93
to host or host:port establish a reverse connection.
94
Using xprop(1) instead of vncconnect may work, see FAQ.
97
Launched by inetd(1): stdio instead of listening socket.
98
Note: if you are not redirecting stderr to a log file
99
(via shell 2> or -o option) you must also specify the
102
.B \-allow addr1[,addr2..]
103
Only allow client connections from IP addresses matching
104
the comma separated list of numerical addresses.
105
Can be a prefix, e.g. "192.168.100." to match a
106
simple subnet, for more control build libvncserver
107
with libwrap support. If the list contains a "/"
108
it instead is a interpreted as a file containing
109
addresses or prefixes that is re-read each time a new
110
client connects. Lines can be commented out with the
111
"#" character in the usual way.
114
Same as -allow 127.0.0.1
116
.B \-viewpasswd string
117
Supply a 2nd password for view-only logins. The -passwd
118
(full-access) password must also be supplied.
120
.B \-passwdfile filename
121
Specify libvncserver -passwd via the first line of
122
the file "filename" instead of via command line.
123
If a second non blank line exists in the file it is
124
taken as a view-only password (i.e. -viewpasswd) Note:
125
this is a simple plaintext passwd, see also -rfbauth
126
and -storepasswd below.
128
.B \-storepasswd pass file
129
Store password "pass" as the VNC password in the
130
file "file". Once the password is stored the
131
program exits. Use the password via "-rfbauth file"
134
Run a command (possibly to prompt the user at the
135
X11 display) to decide whether an incoming client
136
should be allowed to connect or not. "string" is
137
an external command run via system(3) or some special
138
cases described below. Be sure to quote "string"
139
if it contains spaces, etc. If the external command
140
returns 0 the client is accepted, otherwise the client
141
is rejected. See below for an extension to accept a
144
Environment: The RFB_CLIENT_IP environment variable will
145
be set to the incoming client IP number and the port
146
in RFB_CLIENT_PORT (or -1 if unavailable). Similarly,
147
RFB_SERVER_IP and RFB_SERVER_PORT (the x11vnc side
148
of the connection), are set to allow identification
149
of the tcp virtual circuit. The x11vnc process
150
id will be in RFB_X11VNC_PID, a client id number in
151
RFB_CLIENT_ID, and the number of other connected clients
154
If "string" is "popup" then a builtin popup window
155
is used. The popup will time out after 120 seconds,
156
use "popup:N" to modify the timeout to N seconds
157
(use 0 for no timeout)
159
If "string" is "xmessage" then an xmessage(1)
160
invocation is used for the command.
162
Both "popup" and "xmessage" will present an option
163
for accepting the client "View-Only" (the client
164
can only watch). This option will not be presented if
165
-viewonly has been specified, in which case the entire
166
display is view only.
168
If the user supplied command is prefixed with something
169
like "yes:0,no:*,view:3 mycommand ..." then this
170
associates the numerical command return code with
171
the actions: accept, reject, and accept-view-only,
172
respectively. Use "*" instead of a number to indicate
173
the default action (in case the command returns an
174
unexpected value). E.g. "no:*" is a good choice.
176
Note that x11vnc blocks while the external command or
177
or popup is running (other clients may see no updates
180
More -accept tricks: use "popupmouse" to only allow
181
mouse clicks in the builtin popup to be recognized.
182
Similarly use "popupkey" to only recognize keystroke
183
responses. All 3 of the popup keywords can be followed
184
by +N+M to supply a position for the popup window.
185
The default is to center the popup window.
188
As -accept string, except to run a user supplied command
189
when a client goes away (disconnects). Unlike -accept,
190
the command return code is not interpreted by x11vnc.
193
Do not use the MIT-SHM extension for the polling.
194
Remote displays can be polled this way: be careful this
195
can use large amounts of network bandwidth. This is
196
also of use if the local machine has a limited number
197
of shm segments and -onetile is not sufficient.
200
Sometimes needed if remotely polled host has different
201
endianness. Ignored unless -noshm is set.
204
Do not use the new copy_tiles() framebuffer mechanism,
205
just use 1 shm tile for polling. Same as -old_copytile.
206
Limits shm segments used to 3.
209
Black out rectangles on the screen. string is a comma
210
separated list of WxH+X+Y type geometries for each rect.
213
If your screen is composed of multiple monitors
214
glued together via XINERAMA, and that screen is
215
non-rectangular this option will try to guess the areas
216
to black out (if your system has libXinerama).
219
Write stderr messages to file "logfile" instead of
220
to the terminal. Same as -logfile "file".
223
Use "filename" instead of $HOME/.x11vncrc for rc file.
226
Do not process any .x11vncrc file for options.
229
Print this help text.
232
Print program version (last modification date).
235
Be quiet by printing less informational output to
236
stderr. Same as -quiet.
239
Go into the background after screen setup. Messages to
240
stderr are lost unless -o logfile is used. Something
241
like this could be useful in a script:
242
port=`ssh $host "x11vnc -display :0 -bg" | grep PORT`
243
port=`echo "$port" | sed -e 's/PORT=//'`
244
port=`expr $port - 5900`
245
vncviewer $host:$port
247
.B \-modtweak \-nomodtweak
248
Option -modtweak automatically tries to adjust the AltGr
249
and Shift modifiers for differing language keyboards
250
between client and host. Otherwise, only a single key
251
press/release of a Keycode is simulated (i.e. ignoring
252
the state of the modifiers: this usually works for
253
identical keyboards). Also useful in resolving cases
254
where a Keysym is bound to multiple keys (e.g. "<" + ">"
255
and "," + "<" keys). Default: -modtweak
258
When in modtweak mode, use the XKEYBOARD extension
259
(if it exists) to do the modifier tweaking.
261
.B \-skip_keycodes string
262
Skip keycodes not on your keyboard but your X server
263
thinks exist. Currently only applies to -xkb mode.
264
"string" is a comma separated list of decimal
265
keycodes. Use this option to help x11vnc in the reverse
266
problem it tries to solve: Keysym -> Keycode(s) when
267
ambiguities exist. E.g. -skip_keycodes 94,114
270
If a Keysym is received from a VNC viewer and
271
that Keysym does not exist in the X server, then
272
add the Keysym to the X server's keyboard mapping.
273
Added Keysyms will be removed when exiting.
276
At startup and exit clear the modifier keys by sending
277
KeyRelease for each one. The Lock modifiers are skipped.
278
Used to clear the state if the display was accidentally
279
left with any pressed down.
282
As -clear_mods, except try to release any pressed key.
283
Note that this option and -clear_mods can interfere
284
with a person typing at the physical keyboard.
287
Read Keysym remappings from file named "string".
288
Format is one pair of Keysyms per line (can be name
289
or hex value) separated by a space. If no file named
290
"string" exists, it is instead interpreted as this
291
form: key1-key2,key3-key4,... See <X11/keysymdef.h>
292
header file for a list of Keysym names, or use
293
xev(1). To map a key to a button click, use the
294
fake Keysyms "Button1", ..., etc.
295
E.g. -remap Super_R-Button2
297
.B \-norepeat \-repeat
298
Option -norepeat disables X server key auto repeat
299
when VNC clients are connected. This works around a
300
repeating keystrokes bug (triggered by long processing
301
delays between key down and key up client events:
302
either from large screen changes or high latency).
303
Note: your VNC viewer side will likely do autorepeating,
304
so this is no loss unless someone is simultaneously at
305
the real X display. Default: -repeat
308
Ignore video framebuffer: only process keyboard and
309
pointer. Intended for use with Win2VNC and x2vnc
313
Do not watch for XBell events. (no beeps will be heard)
314
Note: XBell monitoring requires the XKEYBOARD extension.
317
Do not manage exchange of X selection/cutbuffer between
318
VNC viewers and the X server.
321
Do not poll the PRIMARY selection for changes to send
322
back to clients. (PRIMARY is still set on received
326
Do not have the VNC viewer show a local cursor.
329
Draw a 2nd cursor at the current X pointer position.
332
As -mouse, but also draw an "X" when pointer is on
336
Shorthand for -mouseX -nocursor.
339
Move the pointer with XWarpPointer() instead of XTEST
340
(try as a workaround if pointer behaves poorly, e.g.
341
on touchscreens or other non-standard setups).
343
.B \-cursorpos \-nocursorpos
344
Option -cursorpos enables sending the X cursor position
345
back to all vnc clients that support the TightVNC
346
CursorPosUpdates extension. Default: -cursorpos
348
.B \-buttonmap string
349
String to remap mouse buttons. Format: IJK-LMN, this
350
maps buttons I -> L, etc., e.g. -buttonmap 13-31
352
Button presses can also be mapped to keystrokes: replace
353
a button digit on the right of the dash with :<sym>:
354
or :<sym1>+<sym2>: etc. for multiple keys. For example,
355
if the viewing machine has a mouse-wheel (buttons 4 5)
356
but the x11vnc side does not, these will do scrolls:
357
-buttonmap 12345-123:Prior::Next:
358
-buttonmap 12345-123:Up+Up+Up::Down+Down+Down:
360
See <X11/keysymdef.h> header file for a list of Keysyms,
361
or use the xev(1) program. Note: mapping of button
362
clicks to Keysyms may not work if -modtweak or -xkb is
363
needed for the Keysym.
365
If you include a modifier like "Shift_L" the
366
modifier's up/down state is toggled, e.g. to send
367
"The" use :Shift_L+t+Shift_L+h+e: (the 1st one is
368
shift down and the 2nd one is shift up). (note: the
369
initial state of the modifier is ignored and not reset)
370
To include button events use "Button1", ... etc.
373
Do not update the display during mouse dragging events
374
(mouse motion with a button held down). Greatly
375
improves response on slow setups, but you lose all
376
visual feedback for drags, text selection, and some
380
Do not use the new pointer input handling mechanisms.
381
See check_input() and pointer() in source file for
385
For the old pointer handling when non-threaded: try to
386
read n user input events before scanning display. n < 0
387
means to act as though there is always user input.
390
Print debugging output for every pointer event.
393
Print debugging output for every keyboard event.
394
Same as -dp and -dk, respectively. Use multiple
395
times for more output.
398
Time in ms to wait for updates before sending to client
399
[rfbDeferUpdateTime] Default: 30
402
Time in ms to pause between screen polls. Used to cut
403
down on load. Default: 30
406
Monitor activity and if low take longer naps between
407
polls to really cut down load when idle. Default: off
410
Broken pipe (SIGPIPE) handling. "string" can be
411
"ignore" or "exit". For "ignore" libvncserver
412
will handle the abrupt loss of a client and continue,
413
for "exit" x11vnc will cleanup and exit at the 1st
414
broken connection. Default: "ignore".
416
.B \-threads \-nothreads
417
Whether or not to use the threaded libvncserver
418
algorithm [rfbRunEventLoop] if libpthread is available
422
If the fraction of changed tiles in a poll is greater
423
than f, the whole screen is updated. Default: 0.75
426
Heuristic to fill in gaps in rows or cols of n or
427
less tiles. Used to improve text paging. Default: 4
430
Heuristic to grow islands of changed tiles n or wider
431
by checking the tile near the boundary. Default: 3
434
Tolerance in pixels to mark a tiles edges as changed.
436
.SH These options are passed to libvncserver:
439
TCP port for RFB protocol
442
Max time in ms to wait for RFB client
444
.B \-rfbauth passwd-file
445
Use authentication on RFB protocol
446
(use 'storepasswd' to create a password file)
448
.B \-passwd plain-password
450
(use plain-password as password, USE AT YOUR RISK)
452
.B \-deferupdate time
453
Time in ms to defer updates (default 40)
456
VNC desktop name (default "LibVNCServer")
459
Always treat new clients as shared
462
Never treat new clients as shared
465
Don't disconnect existing clients when a new non-shared
466
connection comes in (refuse new connection instead)
468
.B \-httpdir dir-path
469
enable http server using dir-path home
471
.B \-httpport portnum
472
Use portnum for http connection
475
Enable http proxy support
477
.B \-progressive height
478
Enable progressive updating for slow links
481
icv was written by Tobias Doerffel <tobias@doerffel.de>.
483
This manual page was written by Steffen Joeris <steffen.joeris@skolelinux.de>,
484
for the Debian project (but may be used by others).