Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
libvncserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rasky
libvncserver
Commits
b0daa444
Commit
b0daa444
authored
May 03, 2005
by
runge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x11vnc: -scrollcopyrect/RECORD, etc. configure.ac: customizations for x11vnc pkg
parent
6602a22f
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
13902 additions
and
11055 deletions
+13902
-11055
ChangeLog
ChangeLog
+6
-0
configure.ac
configure.ac
+41
-0
ChangeLog
x11vnc/ChangeLog
+11
-0
README
x11vnc/README
+173
-85
tkx11vnc
x11vnc/tkx11vnc
+7
-0
tkx11vnc.h
x11vnc/tkx11vnc.h
+7
-0
x11vnc.1
x11vnc/x11vnc.1
+124
-36
x11vnc.c
x11vnc/x11vnc.c
+13533
-10934
No files found.
ChangeLog
View file @
b0daa444
2005-05-02 Karl Runge <runge@karlrunge.com>
* configure.ac: fatal error for x11vnc package if no X present
* configure.ac: give warnings and info about missing libjpeg/libz
* x11vnc: X RECORD heuristics to detect scrolls: -scrollcopyrect,
build customizations, bandwidth/latency estimates.
2005-04-27 Johannes E. Schindelin <Johannes.Schindelin@gmx.de>
* clear requested region (long standing TODO, pointed out by Karl)
...
...
configure.ac
View file @
b0daa444
...
...
@@ -52,6 +52,7 @@ AH_TEMPLATE(HAVE_LIBXRANDR, [XRANDR extension build environment present])
AH_TEMPLATE(HAVE_LIBXFIXES, [XFIXES extension build environment present])
AH_TEMPLATE(HAVE_LIBXDAMAGE, [XDAMAGE extension build environment present])
AH_TEMPLATE(HAVE_LIBXTRAP, [DEC-XTRAP extension build environment present])
AH_TEMPLATE(HAVE_RECORD, [RECORD extension build environment present])
if test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then
AC_CHECK_LIB(X11, XGetImage, HAVE_X="true",
HAVE_X="false",
...
...
@@ -74,6 +75,11 @@ if test "$X_CFLAGS" != "-DX_DISPLAY_MISSING"; then
[AC_DEFINE(HAVE_XTEST)], ,
$X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS)
AC_CHECK_LIB(Xtst, XRecordEnableContextAsync,
X_PRELIBS="$X_PRELIBS -lXtst"
[AC_DEFINE(HAVE_RECORD)], ,
$X_LIBS $X_PRELIBS -lX11 $X_EXTRA_LIBS)
# we use XTRAP on X11R5, or user can set X11VNC_USE_XTRAP
if test ! -z "$X11VNC_USE_XTRAP" -o -z "$HAVE_XTESTGRABCONTROL"; then
AC_CHECK_LIB(XTrap, XETrapSetGrabServer,
...
...
@@ -131,6 +137,19 @@ fi
AC_SUBST(X_LIBS)
AM_CONDITIONAL(HAVE_X, test $HAVE_X != "false")
if test "$PACKAGE_NAME" = "x11vnc" -a $HAVE_X = "false"; then
AC_MSG_ERROR([
==========================================================================
a working X window system build environment is required to build x11vnc.
Make sure any required X development packages are installed. If they are
installed in non-standard locations, one can use the --x-includes=DIR
and --x-libraries=DIR configure options or set the CPPFLAGS and LDFLAGS
environment variables to indicate where the X window system header files
and libraries may be found.
==========================================================================
])
fi
# Checks for libraries.
AC_ARG_WITH(jpeg,
...
...
@@ -168,6 +187,17 @@ if test "x$with_jpeg" != "xno"; then
LDFLAGS="$saved_LDFLAGS"
fi
fi
if test "$PACKAGE_NAME" = "x11vnc"; then
if test "x$HAVE_JPEGLIB_H" != "xtrue"; then
AC_MSG_WARN([
libjpeg compression library was not found: this may lead to reduced performance
especially over slow links. If libjpeg is in a non-standard location
use --with-jpeg=DIR to indicate the header file is in DIR/include/jpeglib.h
and the library in DIR/lib/libjpeg.a. A copy of libjpeg may be obtained
from: ftp://ftp.uu.net/graphics/jpeg/
])
fi
fi
fi
AC_ARG_WITH(libz,
...
...
@@ -198,6 +228,17 @@ if test "x$with_zlib" != "xno" -a "x$with_libz" != "xno"; then
LDFLAGS="$saved_LDFLAGS"
fi
fi
if test "$PACKAGE_NAME" = "x11vnc"; then
if test "x$HAVE_ZLIB_H" != "xtrue"; then
AC_MSG_WARN([
libz compression library was not found: this may lead to reduced performance,
especially over slow links. If libz is in a non-standard location
use --with-zlib=DIR to indicate the header file is in DIR/include/zlib.h
and the library in DIR/lib/libz.a. A copy of libz may be obtained
from: http://www.gzip.org/zlib/
])
fi
fi
fi
AC_CHECK_HEADER(pthread.h, HAVE_PTHREAD_H="true")
...
...
x11vnc/ChangeLog
View file @
b0daa444
2005-05-02 Karl Runge <runge@karlrunge.com>
* initial support for using RECORD to detect some types of window
scrolls. This is "-scrollcopyrect" mode, use -noscrollcopyrect
to disable. Much tuning and painting error repair still required.
* more build time customizations: REMOTE_DEFAULT, REMOTE_CONTROL,
EXTERNAL_COMMANDS, NOREPEAT, WIREFRAME*, SCROLL*, ...
* added bandwidth and latency measurements.
* added XListHosts to -privremote check.
* debug_* remote-control variables.
* removed OLD_TREE stuff.
2005-04-19 Karl Runge <runge@karlrunge.com>
* somewhat safer remote-control defaults, and addnl options for
more safe operation: -privremote, -safer, -nocmds, -unsafe
...
...
x11vnc/README
View file @
b0daa444
This diff is collapsed.
Click to expand it.
x11vnc/tkx11vnc
View file @
b0daa444
...
...
@@ -189,6 +189,11 @@ Debugging
=GA tail-logfile
quiet
--
debug_xevents
debug_xdamage
debug_wireframe
debug_scroll
--
=GA show-start-cmd
=DG debug_gui
...
...
@@ -232,6 +237,8 @@ Tuning
wireframe
wireframe_mode:
=-C:never,top,always wirecopyrect:
=-C:never,keys,mouse,always scrollcopyrect:
scr_area:
--
noshm
flipbyteorder
...
...
x11vnc/tkx11vnc.h
View file @
b0daa444
...
...
@@ -195,6 +195,11 @@
" =GA tail-logfile
\n
"
" quiet
\n
"
" --
\n
"
" debug_xevents
\n
"
" debug_xdamage
\n
"
" debug_wireframe
\n
"
" debug_scroll
\n
"
" --
\n
"
" =GA show-start-cmd
\n
"
" =DG debug_gui
\n
"
"
\n
"
...
...
@@ -238,6 +243,8 @@
" wireframe
\n
"
" wireframe_mode:
\n
"
" =-C:never,top,always wirecopyrect:
\n
"
" =-C:never,keys,mouse,always scrollcopyrect:
\n
"
" scr_area:
\n
"
" --
\n
"
" noshm
\n
"
" flipbyteorder
\n
"
...
...
x11vnc/x11vnc.1
View file @
b0daa444
.\" This file was automatically generated from x11vnc -help output.
.TH X11VNC "1" "
April
2005" "x11vnc " "User Commands"
.TH X11VNC "1" "
May
2005" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.7.2, lastmod: 2005-0
4-19
version: 0.7.2, lastmod: 2005-0
5-02
.SH SYNOPSIS
.B x11vnc
[OPTION]...
...
...
@@ -956,13 +956,16 @@ the full opaque window. This is based completely on
heuristics and may not always work: it depends on your
window manager and even how you move things around.
See \fB-pointer_mode\fR below for discussion of the "bogging
down" problem this tries to avoid. Default: \fB-wireframe\fR
down" problem this tries to avoid.
Default: \fB-wireframe\fR
.IP
Shorter aliases: \fB-wf\fR [str] and \fB-nowf\fR
.IP
The value "str" is optional and, of course, is
packed with many tunable parameters for this scheme:
.IP
Format: shade,linewidth,percent,T+B+L+R,t1+t2+t3+t4
Default: 0xff,3,0,32+8+8+8,0.15+0.3
5+4.0+0.1
Default: 0xff,3,0,32+8+8+8,0.15+0.3
0+5.0+0.125
.IP
If you leave nothing between commas: ",," the default
value is used. If you don't specify enough commas,
...
...
@@ -996,16 +999,71 @@ link this might be a better choice: 0.25+0.6+6.0+0.15
\fB-wirecopyrect\fR \fImode,\fR \fB-nowirecopyrect\fR
.IP
Since the \fB-wireframe\fR mechanism evidently tracks moving
windows, a speedup can be obtained by telling the VNC
viewers to locally copy the translated window region.
This is the VNC CopyRect encoding: the framebuffer
update doesn't need to send the actual new image data.
windows accurately, a speedup can be obtained by
telling the VNC viewers to locally copy the translated
window region. This is the VNC CopyRect encoding:
the framebuffer update doesn't need to send the actual
new image data.
.IP
Shorter aliases: \fB-wcr\fR [mode] and \fB-nowcr\fR
.IP
"mode" can be "never" (same as \fB-nowirecopyrect)\fR
to never try the copyrect, "top" means only do it if
the window was not covered by any other windows, and
"always" means to translate the orginally unobscured
region (this may look odd as the remaining pieces come
in, but helps on a slow link) Default: always
in, but helps on a slow link). Default: "always"
.IP
Note: there can be painting errors when using \fB-scale\fR
so CopyRect is skipped when scaling unless you specify
\fB-wirecopyrect\fR on the command line or by remote-control.
.PP
\fB-scrollcopyrect\fR \fImode,\fR \fB-noscrollcopyrect\fR
.IP
Like \fB-wirecopyrect,\fR but use heuristics to try to guess
if a window has scrolled its contents (either vertically
or horizontally). This requires the RECORD X extension
to "snoop" on X applications (currently for certain
XCopyArea and XConfigureWindow X protocol requests).
Examples: Hitting <Return> in a terminal window when the
cursor was at the bottom, the text scrolls up one line.
Hitting <Down> arrow in a web browser window, the web
page scrolls up a small amount.
.IP
Shorter aliases: \fB-scr\fR [mode] and \fB-noscr\fR
.IP
This scheme will not always detect scrolls, but when
it does there is a nice speedup from using the VNC
CopyRect encoding (see \fB-wirecopyrect).\fR The speedup
is both in reduced network traffic and reduced X
framebuffer polling/copying. On the other hand,
it may induce undesired transients (e.g. a terminal
cursor being scrolled up when it should not be) or other
painting errors. These are automatically repaired in a
short period of time. If this is unacceptable disable
the feature with \fB-noscrollcopyrect.\fR
.IP
"mode" can be "never" (same as \fB-noscrollcopyrect)\fR
to never try the copyrect, "keys" means to try it
in response to keystrokes only, "mouse" means to
try it in response to mouse events only, "always"
means to do both. Default: "always"
.IP
Note: there can be painting errors when using
\fB-scale\fR so CopyRect is skipped when scaling unless
you specify \fB-scrollcopyrect\fR on the command line or
by remote-control.
.PP
\fB-scr_area\fR \fIn\fR
.IP
Set the minimum area in pixels for a rectangle
to be considered for the \fB-scrollcopyrect\fR detection
scheme. This is to avoid wasting the effort on small
rectangles that would be quickly updated the normal way.
E.g. suppose an app updated the position of its skinny
scrollbar first and then shifted the large panel
it controlled. We want to be sure to skip the small
scrollbar and get the large panel. Default: 60000
.PP
\fB-pointer_mode\fR \fIn\fR
.IP
...
...
@@ -1633,15 +1691,21 @@ dragging disable \fB-nodragging\fR mode.
.IP
nodragging enable \fB-nodragging\fR mode.
.IP
wireframe enable \fB-wireframe\fR mode.
wireframe enable \fB-wireframe\fR mode.
same as "wf"
.IP
nowireframe disable \fB-wireframe\fR mode.
nowireframe disable \fB-wireframe\fR mode.
same as "nowf"
.IP
wireframe:str enable \fB-wireframe\fR mode string.
.IP
wireframe_mode:str enable \fB-wireframe\fR mode string.
.IP
wirecopyrect:str set \fB-wirecopyrect\fR string.
wirecopyrect:str set \fB-wirecopyrect\fR string. same as "wcr:"
.IP
scrollcopyrect:str set \fB-scrollcopyrect\fR string. same "scr"
.IP
noscrollcopyrect disable \fB-scrollcopyrect__mode_.\fR "noscr"
.IP
scr_area:n set \fB-scr_area\fR to n
.IP
pointer_mode:n set \fB-pointer_mode\fR to n. same as "pm"
.IP
...
...
@@ -1721,6 +1785,23 @@ dontdisconnect enable \fB-dontdisconnect\fR mode.
nodontdisconnect disable \fB-dontdisconnect\fR mode.
(may interfere with other options)
.IP
debug_xevents enable debugging X events.
.IP
nodebug_xevents disable debugging X events.
.IP
debug_xdamage enable debugging X DAMAGE mechanism.
.IP
nodebug_xdamage disable debugging X DAMAGE mechanism.
.IP
debug_wireframe enable debugging wireframe mechanism.
.IP
nodebug_wireframe disable debugging wireframe mechanism.
.IP
debug_scroll enable debugging scrollcopy mechanism.
.IP
nodebug_scroll disable debugging scrollcopy mechanism.
.IP
.IP
noremote disable the \fB-remote\fR command processing,
it cannot be turned back on.
.IP
...
...
@@ -1795,13 +1876,14 @@ noquiet modtweak nomodtweak xkb noxkb skip_keycodes
add_keysyms noadd_keysyms clear_mods noclear_mods
clear_keys noclear_keys remap repeat norepeat
fb nofb bell nobell sel nosel primary noprimary
cursorshape nocursorshape cursorpos nocursorpos
cursor show_cursor noshow_cursor nocursor arrow
xfixes noxfixes xdamage noxdamage xd_area xd_mem
alphacut alphafrac alpharemove noalpharemove alphablend
noalphablend xwarp xwarppointer noxwarp noxwarppointer
buttonmap dragging nodragging wireframe_mode
wireframe nowireframe wirecopyrect nowirecopyrect
cursorshape nocursorshape cursorpos nocursorpos cursor
show_cursor noshow_cursor nocursor arrow xfixes noxfixes
xdamage noxdamage xd_area xd_mem alphacut alphafrac
alpharemove noalpharemove alphablend noalphablend
xwarp xwarppointer noxwarp noxwarppointer buttonmap
dragging nodragging wireframe_mode wireframe wf
nowireframe nowf wirecopyrect wcr nowirecopyrect nowcr
scr_area scrollcopyrect scr noscrollcopyrect noscr
pointer_mode pm input_skip input client_input speeds
debug_pointer dp nodebug_pointer nodp debug_keyboard dk
nodebug_keyboard nodk deferupdate defer wait rfbwait
...
...
@@ -1811,19 +1893,23 @@ httpdir enablehttpproxy noenablehttpproxy alwaysshared
noalwaysshared nevershared noalwaysshared dontdisconnect
nodontdisconnect desktop noremote
.IP
aro= debug_xevents debug_xdamage display vncdisplay
desktopname http_url auth users rootshift clipshift
scale_str scaled_x scaled_y scale_numer scale_denom
scale_fac scaling_blend scaling_nomult4 scaling_pad
scaling_interpolate inetd privremote unsafe safer
nocmds passwdfile using_shm logfile o flag rc norc h
help V version lastmod bg sigpipe threads pipeinput
clients client_count pid ext_xtest ext_xtrap ext_xkb
ext_xshm ext_xinerama ext_overlay ext_xfixes ext_xdamage
ext_xrandr rootwin num_buttons button_mask mouse_x
mouse_y bpp depth indexed_color dpy_x dpy_y wdpy_x
wdpy_y off_x off_y cdpy_x cdpy_y coff_x coff_y rfbauth
passwd
aro= debug_xevents nodebug_xevents debug_xevents
debug_xdamage nodebug_xdamage debug_xdamage
debug_wireframe nodebug_wireframe debug_wireframe
debug_scroll nodebug_scroll debug_scroll display
vncdisplay desktopname http_url auth users rootshift
clipshift scale_str scaled_x scaled_y scale_numer
scale_denom scale_fac scaling_blend scaling_nomult4
scaling_pad scaling_interpolate inetd privremote
unsafe safer nocmds passwdfile using_shm logfile
o flag rc norc h help V version lastmod bg sigpipe
threads readrate netrate netlatency pipeinput clients
client_count pid ext_xtest ext_xtrap ext_xrecord
ext_xkb ext_xshm ext_xinerama ext_overlay ext_xfixes
ext_xdamage ext_xrandr rootwin num_buttons button_mask
mouse_x mouse_y bpp depth indexed_color dpy_x dpy_y
wdpy_x wdpy_y off_x off_y cdpy_x cdpy_y coff_x coff_y
rfbauth passwd
.PP
\fB-sync\fR
.IP
...
...
@@ -1846,9 +1932,11 @@ if the x11vnc takes longer than that to process the
requests the requestor will think that a failure has
taken place.
.PP
\fB-noremote\fR
\fB-noremote
,\fR \fB-yesremote
\fR
.IP
Do not process any remote control commands or queries.
Do process remote control commands or queries.
Default: \fB-yesremote\fR
.IP
A note about security wrt remote control commands.
If someone can connect to the X display and change
...
...
@@ -1886,10 +1974,10 @@ channels.
.PP
\fB-privremote\fR
.IP
Perform some sanity checks and
only allow
remote-control
Perform some sanity checks and
disable
remote-control
commands if it appears that the X DISPLAY and/or
connectfile can
not be accessed by other users. (not
complete, does not check for empty access control list)
connectfile can
be accessed by other users. Once
remote-control is disabled it cannot be turned back on.
.PP
\fB-nocmds\fR
.IP
...
...
x11vnc/x11vnc.c
View file @
b0daa444
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment