Commit d11b2abd authored by runge's avatar runge

X11VNC_REFLECT_PASSWORD env. var., warning about compiz, improve single-port.

parent 0e7499fb
2009-06-14 Karl Runge <runge@karlrunge.com>
* x11vnc: Add X11VNC_REFLECT_PASSWORD env. var. for -reflect mode.
Message to user about compiz problems suggesting -noxdamage.
Improvements to single-port detection and logging.
2009-05-21 Karl Runge <runge@karlrunge.com>
* x11vnc: Thread safety improvements. Add 'OpenOffice' to special
case list for scroll detection. Fix -clip mode under -rawfb.
......
......@@ -2,7 +2,7 @@
Copyright (C) 2002-2009 Karl J. Runge <runge@karlrunge.com>
All rights reserved.
x11vnc README file Date: Thu May 21 10:41:49 EDT 2009
x11vnc README file Date: Sun Jun 14 13:03:59 EDT 2009
The following information is taken from these URLs:
......@@ -3222,6 +3222,13 @@ TrueColor defdepth 24
and finally supply the [222]-noshm option (this enables the polling
over the network).
If the Xterminal's X display is open to the network for connections,
you might use something like "-display xterm123:0". If you are trying
to do this via an SSH tunnel (assuming you can actually ssh into the
Xterminal) it will be a little tricky (either use the ssh "-R" option
or consider ssh-ing in the other direction.) In all cases the X11
permissions need to allow the connection.
The response will likely be sluggish (maybe only one "frame" per
second). This mode is not recommended except for "quick checks" of
hard to get to X servers. Use something like "-wait 150" to cut down
......@@ -9375,7 +9382,7 @@ References
462. http://www.karlrunge.com/x11vnc/faq.html#faq-linuxvc
463. http://www.karlrunge.com/x11vnc/Xdummy
464. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-find
465. http://www.isc.cnrs.fr/informatique/public_notice/x11vnc
465. http://www.karlrunge.com/x11vnc/xdm_one_shot.html
466. http://www.karlrunge.com/x11vnc/faq.html#infaq_display-manager-continuously
467. http://www.karlrunge.com/x11vnc/faq.html#infaq_findcreatedisplay
468. http://www.karlrunge.com/x11vnc/x11vnc_opts.html#opt-display_WAIT
......@@ -11655,6 +11662,10 @@ Enhanced TightVNC Viewer (SSVNC: SSL/SSH VNC viewer)
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.
* Selection text sending and receiving can be fine-tuned with the
-sendclipboard, -sendalways, and -recvtext options.
* TightVNC compression and quality levels are automatically set
based on observed network latency (n.b. not bandwidth.)
* Improvements to the [29]Popup menu, all of these can now be
changed dynamically via the menu: ViewOnly, Toggle Bell,
CursorShape updates, X11 Cursor, Cursor Alphablending, Toggle
......@@ -12307,6 +12318,8 @@ r
Quality Level ~ -quality (both Tight and ZYWRLE)
Compress Level ~ -compresslevel
Disable JPEG: ~ -nojpeg (Tight)
Pipeline Updates ~ -pipeline
Full Color as many colors as local screen allows.
Grey scale (16 & 8-bpp) ~ -grey, for low colors 16/8bpp modes only.
16 bit color (BGR565) ~ -16bpp / -bgr565
......@@ -12320,7 +12333,6 @@ r
Set Y Crop (y-max) ~ -ycrop
Set Scrollbar Width ~ -sbwidth
XGrabServer ~ -graball
Pipeline Updates ~ -pipeline
UltraVNC Extensions:
......@@ -12335,6 +12347,9 @@ r
Note: the Ultravnc extensions only apply to servers that support
them. x11vnc/libvncserver supports some of them.
Send Clipboard not Primary ~ -sendclipboard
Send Selection Every time ~ -sendalways
Nearly all of these can be changed dynamically in the Popup menu
(press F8 for it):
......@@ -12598,7 +12613,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.9.8 lastmod: 2009-05-18
x11vnc: allow VNC connections to real X11 displays. 0.9.8 lastmod: 2009-06-14
x11vnc options:
-display disp -auth file -N
......@@ -12723,7 +12738,7 @@ libvncserver-tight-extension options:
% x11vnc -help
x11vnc: allow VNC connections to real X11 displays. 0.9.8 lastmod: 2009-05-18
x11vnc: allow VNC connections to real X11 displays. 0.9.8 lastmod: 2009-06-14
(type "x11vnc -opts" to just list the options.)
......@@ -16696,6 +16711,11 @@ t
window dragging. Consider the -nodragging option if
the problem is severe.
The env. var. X11VNC_REFLECT_PASSWORD can be set to
the password needed to log into the vnc host server, or
to "file:path_to_file" to indicate a file containing
the password as its first line.
The VNC HOST mode implies -shared. Use -noshared as
a subsequent cmdline option to disable sharing.
......
......@@ -817,7 +817,10 @@ void client_gone(rfbClientPtr client) {
rfbLog("connect_once: invalid password or early "
"disconnect.\n");
rfbLog("connect_once: waiting for next connection.\n");
accepted_client = 0;
accepted_client--;
if (accepted_client < 0) {
accepted_client = 0;
}
CLIENT_UNLOCK;
return;
}
......@@ -2995,8 +2998,8 @@ enum rfbNewClientAction new_client(rfbClientPtr client) {
if (connect_once) {
if (screen->dontDisconnect && screen->neverShared) {
if (! shared && accepted_client) {
rfbLog("denying additional client: %s\n",
client->host);
rfbLog("denying additional client: %s:%d\n",
client->host, get_remote_port(client->sock));
CLIENT_UNLOCK;
return(RFB_CLIENT_REFUSE);
}
......@@ -3095,7 +3098,8 @@ enum rfbNewClientAction new_client(rfbClientPtr client) {
cd->cmp_bytes_sent = 0;
cd->raw_bytes_sent = 0;
accepted_client = 1;
rfbLog("incr accepted_client for %s:%d.\n", client->host, get_remote_port(client->sock));
accepted_client++;
last_client = time(NULL);
if (ncache) {
......
......@@ -4031,6 +4031,11 @@ void print_help(int mode) {
" window dragging. Consider the -nodragging option if\n"
" the problem is severe.\n"
"\n"
" The env. var. X11VNC_REFLECT_PASSWORD can be set to\n"
" the password needed to log into the vnc host server, or\n"
" to \"file:path_to_file\" to indicate a file containing\n"
" the password as its first line.\n"
"\n"
" The VNC HOST mode implies -shared. Use -noshared as\n"
" a subsequent cmdline option to disable sharing.\n"
"\n"
......
......@@ -1175,6 +1175,39 @@ rfbBool vnc_reflect_resize(rfbClient *cl) {
return cl->frameBuffer ? TRUE : FALSE;
}
static char* vnc_reflect_get_password(rfbClient* client) {
char *q, *p, *str = getenv("X11VNC_REFLECT_PASSWORD");
int len = 110;
if (str) {
len += 2*strlen(str);
}
p = (char *) calloc(len, 1);
if (!str || strlen(str) == 0) {
fprintf(stderr, "VNC Reflect Password: ");
fgets(p, 100, stdin);
} else {
if (strstr(str, "file:") == str) {
FILE *f = fopen(str + strlen("file:"), "r");
if (f) {
fgets(p, 100, f);
fclose(f);
}
}
if (p[0] == '\0') {
strncpy(p, str, 100);
}
}
q = p;
while (*q != '\0') {
if (*q == '\n') {
*q = '\0';
}
q++;
}
return p;
}
char *vnc_reflect_guess(char *str, char **raw_fb_addr) {
static int first = 1;
......@@ -1206,6 +1239,10 @@ char *vnc_reflect_guess(char *str, char **raw_fb_addr) {
client->canHandleNewFBSize = TRUE;
client->GotFrameBufferUpdate = vnc_reflect_got_update;
if (getenv("X11VNC_REFLECT_PASSWORD")) {
client->GetPassword = vnc_reflect_get_password;
}
if (first) {
argv[argc++] = "x11vnc_rawfb_vnc";
if (strstr(hp, "listen") == hp) {
......
This diff is collapsed.
.\" This file was automatically generated from x11vnc -help output.
.TH X11VNC "1" "May 2009" "x11vnc " "User Commands"
.TH X11VNC "1" "June 2009" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.9.8, lastmod: 2009-05-18
version: 0.9.8, lastmod: 2009-06-14
.SH SYNOPSIS
.B x11vnc
[OPTION]...
......@@ -4632,6 +4632,11 @@ wireframing that gives much better response than opaque
window dragging. Consider the \fB-nodragging\fR option if
the problem is severe.
.IP
The env. var. X11VNC_REFLECT_PASSWORD can be set to
the password needed to log into the vnc host server, or
to "file:path_to_file" to indicate a file containing
the password as its first line.
.IP
The VNC HOST mode implies \fB-shared.\fR Use \fB-noshared\fR as
a subsequent cmdline option to disable sharing.
.PP
......
......@@ -4785,6 +4785,11 @@ if (0) fprintf(stderr, "XA: %s\n", getenv("XAUTHORITY"));
if (! quiet && xdamage_present && use_xdamage && ! raw_fb_str) {
rfbLog("X DAMAGE available on display, using it for polling hints.\n");
rfbLog(" To disable this behavior use: '-noxdamage'\n");
rfbLog("\n");
rfbLog(" Most compositing window managers like 'compiz' or 'beryl'\n");
rfbLog(" cause X DAMAGE to fail, and so you may not see any screen\n");
rfbLog(" updates via VNC. Either disable 'compiz' (recommended) or\n");
rfbLog(" supply the x11vnc '-noxdamage' command line option.\n");
}
if (! quiet && wireframe && ! raw_fb_str) {
......
......@@ -47,7 +47,7 @@ int xtrap_base_event_type = 0;
int xdamage_base_event_type = 0;
/* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.9.8 lastmod: 2009-05-18";
char lastmod[] = "0.9.8 lastmod: 2009-06-14";
/* X display info */
......
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