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
54237e33
Commit
54237e33
authored
17 years ago
by
runge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x11vnc: COLUMNS=256 and other fixes to find/create scripts. More ratecheck.
parent
1df143d1
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
533 additions
and
250 deletions
+533
-250
ChangeLog
x11vnc/ChangeLog
+8
-0
README
x11vnc/README
+226
-165
connections.c
x11vnc/connections.c
+2
-2
help.c
x11vnc/help.c
+46
-20
ssltools.h
x11vnc/ssltools.h
+106
-30
user.c
x11vnc/user.c
+1
-0
util.c
x11vnc/util.c
+84
-10
x11vnc.1
x11vnc/x11vnc.1
+50
-21
x11vnc.c
x11vnc/x11vnc.c
+7
-1
x11vnc.h
x11vnc/x11vnc.h
+1
-0
x11vnc_defs.c
x11vnc/x11vnc_defs.c
+2
-1
No files found.
x11vnc/ChangeLog
View file @
54237e33
2007-09-26 Karl Runge <runge@karlrunge.com>
* x11vnc: COLUMNS=256 to find/create scripts. More ratecheck.
2007-09-14 Karl Runge <runge@karlrunge.com>
* x11vnc: Add -sshxdmsvc. Fix find_display for inetd. Improve
-allinput method; env CHECK_RATE to watch for FBUR build up
(i.e. JFVNC).
2007-09-11 Karl Runge <runge@karlrunge.com>
2007-09-11 Karl Runge <runge@karlrunge.com>
* x11vnc: fix wireframe crash under -clip. Add -redirect for
* x11vnc: fix wireframe crash under -clip. Add -redirect for
VNC redir. -rawfb nullbig, randbig, solid, swirl, etc.
VNC redir. -rawfb nullbig, randbig, solid, swirl, etc.
...
...
This diff is collapsed.
Click to expand it.
x11vnc/README
View file @
54237e33
x11vnc
README
file
Date
:
Mon
Sep
10
23
:
47
:
54
EDT
2007
x11vnc
README
file
Date
:
Wed
Sep
26
15
:
16
:
21
EDT
2007
The
following
information
is
taken
from
these
URLs
:
The
following
information
is
taken
from
these
URLs
:
...
@@ -4109,6 +4109,25 @@ service x11vncservice
...
@@ -4109,6 +4109,25 @@ service x11vncservice
(or one can replace the -q with say "-o /var/log/x11vnc.log" to
(or one can replace the -q with say "-o /var/log/x11vnc.log" to
capture a log)
capture a log)
The above works nicely for GDM becasue the -auth file is a fixed name.
For KDM or XDM the filename varies. Here is one idea for a x11vnc_sh
wrapper to try to guess the name:
#!/bin/sh
COLUMNS=256
export COLUMNS
authfile=`ps wwwwwaux | grep '
/
X
.*-
auth
' | grep -v grep | sed -e '
s
/^.*-
auth
*/
/
' -e '
s
/
.*$//
' | head -n 1`
if [ -r "$authfile" ]; then
exec /usr/local/bin/x11vnc -inetd -o /var/log/x11vnc.log -display :0 -a
uth "$authfile"
fi
exit 1
Starting with x11vnc 0.9.3 this can be automated by:
#!/bin/sh
exec /usr/local/bin/x11vnc -inetd -o /var/log/x11vnc.log -find -env FD_XDM=1
Q-57: Can I have x11vnc advertise its VNC service and port via mDNS /
Q-57: Can I have x11vnc advertise its VNC service and port via mDNS /
Zeroconf (e.g. Avahi) so VNC viewers on the local network can detect
Zeroconf (e.g. Avahi) so VNC viewers on the local network can detect
...
@@ -10194,18 +10213,21 @@ Enhanced TightVNC Viewer (SSVNC: SSL/SSH VNC viewer)
...
@@ -10194,18 +10213,21 @@ Enhanced TightVNC Viewer (SSVNC: SSL/SSH VNC viewer)
front
-
end
GUI
and
wrapper
scripts
features
dwarf
the
Unix
TightVNC
front
-
end
GUI
and
wrapper
scripts
features
dwarf
the
Unix
TightVNC
Viewer
patches
(
see
the
lists
below
).
Viewer
patches
(
see
the
lists
below
).
It
adds
a
GUI
for
Windows
,
Mac
OS
X
,
and
Unix
that
automatically
The
project
provides
a
GUI
for
Windows
,
Mac
OS
X
,
and
Unix
that
starts
up
STUNNEL
SSL
tunnel
for
SSL
or
SSH
connections
to
[
3
]
x11vnc
,
automatically
starts
up
an
STUNNEL
SSL
tunnel
for
SSL
or
ssh
for
SSH
and
then
launches
the
TightVNC
Viewer
to
use
the
tunnel
.
It
also
connections
to
[
3
]
x11vnc
,
and
then
launches
the
TightVNC
Viewer
to
use
enables
SSL
encrypted
VNC
connections
to
any
other
VNC
Server
running
the
tunnel
.
an
SSL
tunnel
,
such
as
STUNNEL
,
at
their
end
.
It
can
be
used
to
perform
SSH
tunnelled
connections
to
any
VNC
Server
as
well
.
It
also
enables
SSL
encrypted
VNC
connections
to
any
other
VNC
Server
running
an
SSL
tunnel
,
such
as
STUNNEL
,
at
their
end
.
It
can
be
used
to
perform
SSH
tunnelled
connections
to
any
VNC
Server
as
well
.
The
short
name
for
this
project
is
"ssvnc"
for
SSL
/
SSH
VNC
Viewer
.
The
short
name
for
this
project
is
"ssvnc"
for
SSL
/
SSH
VNC
Viewer
.
This
is
the
name
of
the
command
to
start
it
.
This
is
the
name
of
the
command
to
start
it
.
There
is
a
simplified
[
4
]
SSH
-
Only
mode
(
sshvnc
).
And
an
even
more
There
is
a
simplified
[
4
]
SSH
-
Only
mode
(
sshvnc
).
And
an
even
more
simplified
[
5
]
Terminal
-
Services
mode
(
tsvnc
)
for
use
with
x11vnc
.
simplified
[
5
]
Terminal
-
Services
mode
(
tsvnc
)
for
use
with
x11vnc
on
the
remote
side
.
The
tool
has
many
additional
features
;
see
the
descriptions
below
.
The
tool
has
many
additional
features
;
see
the
descriptions
below
.
...
@@ -10272,7 +10294,7 @@ Enhanced TightVNC Viewer (SSVNC: SSL/SSH VNC viewer)
...
@@ -10272,7 +10294,7 @@ Enhanced TightVNC Viewer (SSVNC: SSL/SSH VNC viewer)
CursorShape updates, X11 Cursor, Cursor Alphablending, Toggle
CursorShape updates, X11 Cursor, Cursor Alphablending, Toggle
Tight/ZRLE, Toggle JPEG, FullColor/16bpp/8bpp (256/64/8 colors),
Tight/ZRLE, Toggle JPEG, FullColor/16bpp/8bpp (256/64/8 colors),
Greyscale for low color modes.
Greyscale for low color modes.
* Maintains its own BackingStore if the X server does not
* Maintains its own BackingStore if the X server does not
.
* The default for localhost:0 connections is not raw encoding since
* The default for localhost:0 connections is not raw encoding since
same-machine connections are pretty rare. Default assumes you are
same-machine connections are pretty rare. Default assumes you are
using a SSL or SSH tunnel. Use -rawlocal to revert.
using a SSL or SSH tunnel. Use -rawlocal to revert.
...
@@ -10408,7 +10430,7 @@ Windows:
...
@@ -10408,7 +10430,7 @@ Windows:
"ssvnc.bat"
that
looks
like
this
:
"ssvnc.bat"
that
looks
like
this
:
C
:
C
:
cd
\
ssvnc
\
Windows
cd
\
ssvnc
\
Windows
ssvnc
.
exe
s
tart
s
svnc
.
exe
Update
:
A
simple
workaround
is
now
in
place
where
it
will
copy
Update
:
A
simple
workaround
is
now
in
place
where
it
will
copy
everything
to
a
cache
directory
ss_vnc
/
cache
in
your
Windows
home
everything
to
a
cache
directory
ss_vnc
/
cache
in
your
Windows
home
...
@@ -10424,12 +10446,16 @@ ssvnc.exe
...
@@ -10424,12 +10446,16 @@ ssvnc.exe
(
the
Mac
OS
X
and
Unix
launchers
are
simply
links
to
the
bin
(
the
Mac
OS
X
and
Unix
launchers
are
simply
links
to
the
bin
directory
).
See
the
README
for
more
information
.
directory
).
See
the
README
for
more
information
.
The
[
14
]
SSH
-
Only
mode
launcher
program
has
name
sshvnc
.
The
[
15
]
Terminal
Services
mode
launcher
program
(
assumes
x11vnc
0.8.4
or
later
and
Xvfb
installed
on
the
server
machine
)
has
name
tsvnc
.
The
Viewer
SSL
support
is
done
via
a
wrapper
script
(
bin
/
ssvnc_cmd
The
Viewer
SSL
support
is
done
via
a
wrapper
script
(
bin
/
ssvnc_cmd
that
calls
bin
/
util
/
ss_vncviewer
)
that
starts
up
the
STUNNEL
tunnel
that
calls
bin
/
util
/
ss_vncviewer
)
that
starts
up
the
STUNNEL
tunnel
first
and
then
starts
the
TightVNC
viewer
pointed
at
that
tunnel
.
The
first
and
then
starts
the
TightVNC
viewer
pointed
at
that
tunnel
.
The
bin
/
ssvnc
program
is
a
GUI
front
-
end
to
that
script
.
See
[
1
4
]
this
FAQ
bin
/
ssvnc
program
is
a
GUI
front
-
end
to
that
script
.
See
[
1
6
]
this
FAQ
for
more
details
on
SSL
tunnelling
.
In
SSH
connection
mode
,
the
for
more
details
on
SSL
tunnelling
.
In
SSH
connection
mode
,
the
wrappers
stat
up
SSH
appropriately
.
wrappers
sta
r
t
up
SSH
appropriately
.
Memory
Stick
Usage
:
If
you
create
a
directory
named
"Home"
in
that
Memory
Stick
Usage
:
If
you
create
a
directory
named
"Home"
in
that
...
@@ -10467,7 +10493,7 @@ ssvnc.exe
...
@@ -10467,7 +10493,7 @@ ssvnc.exe
switch from the regular SSVNC mode, click "Terminal Services" under
switch from the regular SSVNC mode, click "Terminal Services" under
Options.
Options.
This mode requires [1
5
]x11vnc (0.9.3 or later) installed on the remote
This mode requires [1
7
]x11vnc (0.9.3 or later) installed on the remote
machine to find, create, and manage the user sessions. SSH is used to
machine to find, create, and manage the user sessions. SSH is used to
create the encrypted and authenticated tunnel. The Xvfb (virtual
create the encrypted and authenticated tunnel. The Xvfb (virtual
framebuffer X server) program must also be installed on the remote
framebuffer X server) program must also be installed on the remote
...
@@ -10485,16 +10511,22 @@ ssvnc.exe
...
@@ -10485,16 +10511,22 @@ ssvnc.exe
press "Connect").
press "Connect").
Normally the Terminal Services sessions created are virtual (RAM-only)
Normally the Terminal Services sessions created are virtual (RAM-only)
ones (e.g. Xvfb, [1
6
]Xdummy, or Xvnc), however a nice feature is if
ones (e.g. Xvfb, [1
8
]Xdummy, or Xvnc), however a nice feature is if
you have a regular X session (i.e displaying on the physical hardware)
you have a regular X session (i.e displaying on the physical hardware)
on the remote machine that you are ALREADY logged into, then the
on the remote machine that you are ALREADY logged into, then the
x11vnc run from tsvnc will find it for you as well.
x11vnc run from tsvnc will find it for you as well.
Also, there is setting "X Login" under Advanced Options that allows
you to attach to a real X server with no one logged in yet (i.e.
XDM/GDM/KDM Login Greeter screen) as long as you have sudo(1)
permission on the remote machine.
Nice features to soon to be added to the tsvnc mode are easy CUPS
Nice features to soon to be added to the tsvnc mode are easy CUPS
printing and Sound redirection of the Terminal Services session. It is
printing (working fairly well) and Sound redirection (needs much work)
easier in tsvnc mode because the entire desktop session can be started
of the Terminal Services Desktop session. It is easier in tsvnc mode
with the correct environment. ssvnc tries to handle the general case
because the entire desktop session can be started with the correct
of an already started desktop and that is more difficult.
environment. ssvnc tries to handle the general case of an already
started desktop and that is more difficult.
Dynamic VNC Server Port determination: If you are running SSVNC on
Dynamic VNC Server Port determination: If you are running SSVNC on
...
@@ -10521,7 +10553,7 @@ or: PORT= vncserver :4; sleep 15
...
@@ -10521,7 +10553,7 @@ or: PORT= vncserver :4; sleep 15
sessions
if
called
repeatedly
.
sessions
if
called
repeatedly
.
If
you
use
PORT
=
on
Windows
,
a
large
random
port
is
selected
instead
If
you
use
PORT
=
on
Windows
,
a
large
random
port
is
selected
instead
and
the
[
1
7
]-
rfbport
option
is
passed
to
x11vnc
(
it
does
not
work
with
and
the
[
1
9
]-
rfbport
option
is
passed
to
x11vnc
(
it
does
not
work
with
vncserver
).
vncserver
).
...
@@ -10532,7 +10564,7 @@ or: PORT= vncserver :4; sleep 15
...
@@ -10532,7 +10564,7 @@ or: PORT= vncserver :4; sleep 15
resize
when
the
server
does
(
e
.
g
.
"x11vnc -R scale=3/4"
remote
control
resize
when
the
server
does
(
e
.
g
.
"x11vnc -R scale=3/4"
remote
control
command
).
command
).
The
cursor
alphablending
is
[
18
]
described
here
.
The
cursor
alphablending
is
[
20
]
described
here
.
The
RealVNC
ZRLE
encoding
is
supported
,
in
addition
to
some
low
colors
The
RealVNC
ZRLE
encoding
is
supported
,
in
addition
to
some
low
colors
modes
(
16
bpp
and
8
bpp
at
256
,
64
,
and
even
8
colors
,
for
use
on
very
modes
(
16
bpp
and
8
bpp
at
256
,
64
,
and
even
8
colors
,
for
use
on
very
...
@@ -10542,7 +10574,7 @@ or: PORT= vncserver :4; sleep 15
...
@@ -10542,7 +10574,7 @@ or: PORT= vncserver :4; sleep 15
The
Popup
menu
(
F8
)
is
enhanced
with
the
ability
to
change
many
things
The
Popup
menu
(
F8
)
is
enhanced
with
the
ability
to
change
many
things
on
the
fly
.
F9
is
added
as
a
shortcut
to
toggle
FullScreen
mode
.
on
the
fly
.
F9
is
added
as
a
shortcut
to
toggle
FullScreen
mode
.
Client
Side
Caching
:
The
x11vnc
[
19
]
client
-
side
caching
is
handled
Client
Side
Caching
:
The
x11vnc
[
21
]
client
-
side
caching
is
handled
nicely
by
this
viewer
.
The
very
large
pixel
cache
below
the
actual
nicely
by
this
viewer
.
The
very
large
pixel
cache
below
the
actual
display
in
this
caching
method
is
distracting
.
Our
Unix
VNC
viewer
display
in
this
caching
method
is
distracting
.
Our
Unix
VNC
viewer
will
automatically
try
to
autodetect
the
actual
display
height
if
the
will
automatically
try
to
autodetect
the
actual
display
height
if
the
...
@@ -10555,7 +10587,7 @@ or: PORT= vncserver :4; sleep 15
...
@@ -10555,7 +10587,7 @@ or: PORT= vncserver :4; sleep 15
scrollbars
are
set
to
be
very
thin
(
2
pixels
)
to
be
less
distracting
.
scrollbars
are
set
to
be
very
thin
(
2
pixels
)
to
be
less
distracting
.
Use
the
-
sbwidth
n
to
make
them
wider
.
Use
the
-
sbwidth
n
to
make
them
wider
.
Probably
nobody
is
interested
in
the
[
2
0
]
grabserver
patch
for
old
Probably
nobody
is
interested
in
the
[
2
2
]
grabserver
patch
for
old
window
managers
when
the
viewer
is
in
fullscreen
mode
...
This
and
some
window
managers
when
the
viewer
is
in
fullscreen
mode
...
This
and
some
other
unfixed
bugs
have
been
fixed
in
our
patches
(
fullscreen
toggle
other
unfixed
bugs
have
been
fixed
in
our
patches
(
fullscreen
toggle
works
with
KDE
,
-
x11cursor
has
been
fixed
,
and
the
dot
cursor
has
been
works
with
KDE
,
-
x11cursor
has
been
fixed
,
and
the
dot
cursor
has
been
...
@@ -10712,7 +10744,7 @@ Enhanced TightVNC viewer (SSVNC) options:
...
@@ -10712,7 +10744,7 @@ Enhanced TightVNC viewer (SSVNC) options:
_________________________________________________________________
_________________________________________________________________
Hopefully
this
tool
will
make
it
convenient
for
people
to
help
test
Hopefully
this
tool
will
make
it
convenient
for
people
to
help
test
and
use
the
[
2
1
]
built
-
in
SSL
support
in
x11vnc
.
Extra
testing
of
this
and
use
the
[
2
3
]
built
-
in
SSL
support
in
x11vnc
.
Extra
testing
of
this
feature
is
much
appreciated
!! Thanks.
feature
is
much
appreciated
!! Thanks.
Please
Help
Test
the
newly
added
features
:
Please
Help
Test
the
newly
added
features
:
...
@@ -10725,47 +10757,47 @@ Enhanced TightVNC viewer (SSVNC) options:
...
@@ -10725,47 +10757,47 @@ Enhanced TightVNC viewer (SSVNC) options:
Server
machine
,
and
to
mount
your
local
Windows
or
Samba
shares
on
the
Server
machine
,
and
to
mount
your
local
Windows
or
Samba
shares
on
the
remote
VNC
Server
machine
.
Basically
these
new
features
try
to
remote
VNC
Server
machine
.
Basically
these
new
features
try
to
automate
the
tricks
described
here
:
automate
the
tricks
described
here
:
[
2
2
]
http
://
www
.
karlrunge
.
com
/
x11vnc
/#
faq
-
smb
-
shares
[
2
4
]
http
://
www
.
karlrunge
.
com
/
x11vnc
/#
faq
-
smb
-
shares
[
2
3
]
http
://
www
.
karlrunge
.
com
/
x11vnc
/#
faq
-
cups
[
2
5
]
http
://
www
.
karlrunge
.
com
/
x11vnc
/#
faq
-
cups
[
2
4
]
http
://
www
.
karlrunge
.
com
/
x11vnc
/#
faq
-
sound
[
2
6
]
http
://
www
.
karlrunge
.
com
/
x11vnc
/#
faq
-
sound
_________________________________________________________________
_________________________________________________________________
Downloading
:
This
project
can
be
downloaded
here
,
choose
the
archive
Downloading
:
This
project
can
be
downloaded
here
,
choose
the
archive
file
bundle
that
best
suits
you
(
e
.
g
.
no
source
code
,
windows
only
,
file
bundle
that
best
suits
you
(
e
.
g
.
no
source
code
,
windows
only
,
unix
only
,
zip
,
tar
etc
):
unix
only
,
zip
,
tar
etc
):
[
2
5
]
ssvnc_windows_only
-
1.0.18
.
zip
Windows
Binaries
Only
.
No
source
incl
[
2
7
]
ssvnc_windows_only
-
1.0.18
.
zip
Windows
Binaries
Only
.
No
source
incl
uded
(~
6
MB
)
uded
(~
6
MB
)
[
2
6
]
ssvnc_no_windows
-
1.0.18
.
tar
.
gz
Unix
and
Mac
OS
X
Only
.
No
Windows
bin
[
2
8
]
ssvnc_no_windows
-
1.0.18
.
tar
.
gz
Unix
and
Mac
OS
X
Only
.
No
Windows
bin
aries
.
Source
included
.
(~
6
MB
)
aries
.
Source
included
.
(~
6
MB
)
[
2
7
]
ssvnc_unix_only
-
1.0.18
.
tar
.
gz
Unix
Binaries
Only
.
No
source
incl
[
2
9
]
ssvnc_unix_only
-
1.0.18
.
tar
.
gz
Unix
Binaries
Only
.
No
source
incl
uded
.
(~
3.5
MB
)
uded
.
(~
3.5
MB
)
[
28
]
ssvnc_unix_minimal
-
1.0.18
.
tar
.
gz
Unix
Minimal
.
You
must
supply
your
ow
[
30
]
ssvnc_unix_minimal
-
1.0.18
.
tar
.
gz
Unix
Minimal
.
You
must
supply
your
ow
n
vncviewer
and
stunnel
.
(~
0.1
MB
)
n
vncviewer
and
stunnel
.
(~
0.1
MB
)
[
29
]
ssvnc
-
1.0.18
.
tar
.
gz
All
Unix
,
Mac
OS
X
,
and
Windows
binari
[
31
]
ssvnc
-
1.0.18
.
tar
.
gz
All
Unix
,
Mac
OS
X
,
and
Windows
binari
es
and
source
TGZ
.
(~
11
MB
)
es
and
source
TGZ
.
(~
11
MB
)
[
3
0
]
ssvnc
-
1.0.18
.
zip
All
Unix
,
Mac
OS
X
,
and
Windows
binari
[
3
2
]
ssvnc
-
1.0.18
.
zip
All
Unix
,
Mac
OS
X
,
and
Windows
binari
es
and
source
ZIP
.
(~
11
MB
)
es
and
source
ZIP
.
(~
11
MB
)
[
3
1
]
ssvnc_all
-
1.0.18
.
zip
All
Unix
,
Mac
OS
X
,
and
Windows
binari
[
3
3
]
ssvnc_all
-
1.0.18
.
zip
All
Unix
,
Mac
OS
X
,
and
Windows
binari
es
and
source
AND
full
archives
in
the
zip
dir
.
(~
15
MB
)
es
and
source
AND
full
archives
in
the
zip
dir
.
(~
15
MB
)
You
can
try
for
an
older
one
by
replacing
,
e
.
g
.
".18"
by
".11"
,
etc
.
You
can
try
for
an
older
one
by
replacing
,
e
.
g
.
".18"
by
".11"
,
etc
.
Here
are
the
corresponding
development
bundles
:
Here
are
the
corresponding
development
bundles
:
[
3
2
]
ssvnc_windows_only
-
1.0.19
.
zip
[
3
4
]
ssvnc_windows_only
-
1.0.19
.
zip
[
3
3
]
ssvnc_no_windows
-
1.0.19
.
tar
.
gz
[
3
5
]
ssvnc_no_windows
-
1.0.19
.
tar
.
gz
[
3
4
]
ssvnc_unix_only
-
1.0.19
.
tar
.
gz
[
3
6
]
ssvnc_unix_only
-
1.0.19
.
tar
.
gz
[
3
5
]
ssvnc_unix_minimal
-
1.0.19
.
tar
.
gz
[
3
7
]
ssvnc_unix_minimal
-
1.0.19
.
tar
.
gz
[
3
6
]
ssvnc
-
1.0.19
.
tar
.
gz
[
3
8
]
ssvnc
-
1.0.19
.
tar
.
gz
[
3
7
]
ssvnc
-
1.0.19
.
zip
[
3
9
]
ssvnc
-
1.0.19
.
zip
[
38
]
ssvnc_all
-
1.0.19
.
zip
[
40
]
ssvnc_all
-
1.0.19
.
zip
Please
help
test
the
UltraVNC
File
Transfer
support
in
the
native
Unix
Please
help
test
the
UltraVNC
File
Transfer
support
in
the
native
Unix
VNC
viewer
!
VNC
viewer
!
A
self
-
extracting
and
running
file
for
the
"ssvnc_unix_minimal"
A
self
-
extracting
and
running
file
for
the
"ssvnc_unix_minimal"
package
is
here
:
[
39
]
ssvnc
.
Save
it
as
filename
"ssvnc"
,
type
"chmod
package
is
here
:
[
41
]
ssvnc
.
Save
it
as
filename
"ssvnc"
,
type
"chmod
755 ./ssvnc"
,
and
then
launch
the
GUI
via
typing
"./ssvnc"
.
Note
that
755 ./ssvnc"
,
and
then
launch
the
GUI
via
typing
"./ssvnc"
.
Note
that
this
"ssvnc_unix_minimal"
mode
requires
you
install
the
"stunnel"
and
this
"ssvnc_unix_minimal"
mode
requires
you
install
the
"stunnel"
and
"vncviewer"
programs
externally
(
for
example
,
install
your
distros
'
"vncviewer"
programs
externally
(
for
example
,
install
your
distros
'
...
@@ -10805,13 +10837,13 @@ es and source AND full archives in the zip dir. (~15MB)
...
@@ -10805,13 +10837,13 @@ es and source AND full archives in the zip dir. (~15MB)
redistribute
the
above
because
of
cryptographic
software
they
contain
redistribute
the
above
because
of
cryptographic
software
they
contain
or
for
other
reasons
.
Please
check
out
your
situation
and
information
or
for
other
reasons
.
Please
check
out
your
situation
and
information
at
the
following
and
related
sites
:
at
the
following
and
related
sites
:
[
4
0
]
http
://
www
.
stunnel
.
org
[
4
2
]
http
://
www
.
stunnel
.
org
[
4
1
]
http
://
stunnel
.
mirt
.
net
[
4
3
]
http
://
stunnel
.
mirt
.
net
[
4
2
]
http
://
www
.
openssl
.
org
[
4
4
]
http
://
www
.
openssl
.
org
[
4
3
]
http
://
www
.
chiark
.
greenend
.
org
.
uk
/~
sgtatham
/
putty
/
[
4
5
]
http
://
www
.
chiark
.
greenend
.
org
.
uk
/~
sgtatham
/
putty
/
[
4
4
]
http
://
www
.
tightvnc
.
com
[
4
6
]
http
://
www
.
tightvnc
.
com
[
4
5
]
http
://
www
.
realvnc
.
com
[
4
7
]
http
://
www
.
realvnc
.
com
[
4
6
]
http
://
sourceforge
.
net
/
projects
/
cotvnc
/
[
4
8
]
http
://
sourceforge
.
net
/
projects
/
cotvnc
/
_________________________________________________________________
_________________________________________________________________
Here
is
the
toplevel
README
from
the
bundle
:
Here
is
the
toplevel
README
from
the
bundle
:
...
@@ -11361,39 +11393,41 @@ References
...
@@ -11361,39 +11393,41 @@ References
11.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
xfixes
-
alpha
-
hacks
11.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
xfixes
-
alpha
-
hacks
12.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
client
-
caching
12.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
client
-
caching
13.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
enhanced_tightvnc_viewer
.
html
#
popup
13.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
enhanced_tightvnc_viewer
.
html
#
popup
14.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
ssl
-
tunnel
-
ext
14.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
enhanced_tightvnc_viewer
.
html
#
sshvnc
15.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
15.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
enhanced_tightvnc_viewer
.
html
#
tsvnc
16.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
xvfb
16.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
ssl
-
tunnel
-
ext
17.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
#
opt
-
rfbport
17.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
18.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
xfixes
-
alpha
-
hacks
18.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
xvfb
19.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
client
-
caching
19.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
#
opt
-
rfbport
20.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
scrollbars
20.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
xfixes
-
alpha
-
hacks
21.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
ssl
-
tunnel
-
int
21.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
client
-
caching
22.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
smb
-
shares
22.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
scrollbars
23.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
cups
23.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
ssl
-
tunnel
-
int
24.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
sound
24.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
smb
-
shares
25.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_windows_only
-
1.0.18
.
zip
25.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
cups
26.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_no_windows
-
1.0.18
.
tar
.
gz
26.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
faq
-
sound
27.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_unix_only
-
1.0.18
.
tar
.
gz
27.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_windows_only
-
1.0.18
.
zip
28.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_unix_minimal
-
1.0.18
.
tar
.
gz
28.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_no_windows
-
1.0.18
.
tar
.
gz
29.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
-
1.0.18
.
tar
.
gz
29.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_unix_only
-
1.0.18
.
tar
.
gz
30.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
-
1.0.18
.
zip
30.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_unix_minimal
-
1.0.18
.
tar
.
gz
31.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_all
-
1.0.18
.
zip
31.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
-
1.0.18
.
tar
.
gz
32.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_windows_only
-
1.0.19
.
zip
32.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
-
1.0.18
.
zip
33.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_no_windows
-
1.0.19
.
tar
.
gz
33.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_all
-
1.0.18
.
zip
34.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_unix_only
-
1.0.19
.
tar
.
gz
34.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_windows_only
-
1.0.19
.
zip
35.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_unix_minimal
-
1.0.19
.
tar
.
gz
35.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_no_windows
-
1.0.19
.
tar
.
gz
36.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
-
1.0.19
.
tar
.
gz
36.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_unix_only
-
1.0.19
.
tar
.
gz
37.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
-
1.0.19
.
zip
37.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_unix_minimal
-
1.0.19
.
tar
.
gz
38.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_all
-
1.0.19
.
zip
38.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
-
1.0.19
.
tar
.
gz
39.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
39.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
-
1.0.19
.
zip
40.
http
://
www
.
stunnel
.
org
/
40.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc_all
-
1.0.19
.
zip
41.
http
://
stunnel
.
mirt
.
net
/
41.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
etv
/
ssvnc
42.
http
://
www
.
openssl
.
org
/
42.
http
://
www
.
stunnel
.
org
/
43.
http
://
www
.
chiark
.
greenend
.
org
.
uk
/~
sgtatham
/
putty
/
43.
http
://
stunnel
.
mirt
.
net
/
44.
http
://
www
.
tightvnc
.
com
/
44.
http
://
www
.
openssl
.
org
/
45.
http
://
www
.
realvnc
.
com
/
45.
http
://
www
.
chiark
.
greenend
.
org
.
uk
/~
sgtatham
/
putty
/
46.
http
://
sourceforge
.
net
/
projects
/
cotvnc
/
46.
http
://
www
.
tightvnc
.
com
/
47.
http
://
www
.
realvnc
.
com
/
48.
http
://
sourceforge
.
net
/
projects
/
cotvnc
/
=======================================================================
=======================================================================
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
:
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
:
...
@@ -11406,7 +11440,7 @@ x11vnc: a VNC server for real X displays
...
@@ -11406,7 +11440,7 @@ x11vnc: a VNC server for real X displays
Here
are
all
of
x11vnc
command
line
options
:
Here
are
all
of
x11vnc
command
line
options
:
%
x11vnc
-
opts
(
see
below
for
-
help
long
descriptions
)
%
x11vnc
-
opts
(
see
below
for
-
help
long
descriptions
)
x11vnc
:
allow
VNC
connections
to
real
X11
displays
.
0.9.3
lastmod
:
2007
-
09
-
10
x11vnc
:
allow
VNC
connections
to
real
X11
displays
.
0.9.3
lastmod
:
2007
-
09
-
26
x11vnc
options
:
x11vnc
options
:
-
display
disp
-
auth
file
-
N
-
display
disp
-
auth
file
-
N
...
@@ -11428,68 +11462,69 @@ x11vnc options:
...
@@ -11428,68 +11462,69 @@ x11vnc options:
-
find
-
finddpy
-
listdpy
-
find
-
finddpy
-
listdpy
-
create
-
xdummy
-
xvnc
-
create
-
xdummy
-
xvnc
-
xvnc_redirect
-
svc
-
svc_xdummy
-
xvnc_redirect
-
svc
-
svc_xdummy
-
svc_xvnc
-
xdmsvc
-
redirect
port
-
svc_xvnc
-
xdmsvc
-
sshxdmsvc
-
display
WAIT
:...
-
nossl
-
ssl
[
pem
]
-
redirect
port
-
display
WAIT
:...
-
nossl
-
ssltimeout
n
-
sslnofail
-
ssldir
[
dir
]
-
ssl
[
pem
]
-
ssltimeout
n
-
sslnofail
-
sslverify
[
path
]
-
sslGenCA
[
dir
]
-
sslGenCert
type
name
-
ssldir
[
dir
]
-
sslverify
[
path
]
-
sslGenCA
[
dir
]
-
sslEncKey
[
pem
]
-
sslCertInfo
[
pem
]
-
sslDelCert
[
pem
]
-
sslGenCert
type
name
-
sslEncKey
[
pem
]
-
sslCertInfo
[
pem
]
-
stunnel
[
pem
]
-
stunnel3
[
pem
]
-
https
[
port
]
-
sslDelCert
[
pem
]
-
stunnel
[
pem
]
-
stunnel3
[
pem
]
-
httpsredir
[
port
]
-
usepw
-
storepasswd
pass
file
-
https
[
port
]
-
httpsredir
[
port
]
-
usepw
-
nopw
-
accept
string
-
afteraccept
string
-
storepasswd
pass
file
-
nopw
-
accept
string
-
gone
string
-
users
list
-
noshm
-
afteraccept
string
-
gone
string
-
users
list
-
flipbyteorder
-
onetile
-
solid
[
color
]
-
noshm
-
flipbyteorder
-
onetile
-
blackout
string
-
xinerama
-
noxinerama
-
solid
[
color
]
-
blackout
string
-
xinerama
-
xtrap
-
xrandr
[
mode
]
-
rotate
string
-
noxinerama
-
xtrap
-
xrandr
[
mode
]
-
padgeom
WxH
-
o
logfile
-
flag
file
-
rotate
string
-
padgeom
WxH
-
o
logfile
-
rc
filename
-
norc
-
env
VAR
=
VALUE
-
flag
file
-
rc
filename
-
norc
-
prog
/
path
/
to
/
x11vnc
-
h
,
-
help
-?,
-
opts
-
env
VAR
=
VALUE
-
prog
/
path
/
to
/
x11vnc
-
h
,
-
help
-
V
,
-
version
-
license
-
dbg
-?,
-
opts
-
V
,
-
version
-
license
-
q
,
-
quiet
-
v
,
-
verbose
-
bg
-
dbg
-
q
,
-
quiet
-
v
,
-
verbose
-
modtweak
-
nomodtweak
-
xkb
-
bg
-
modtweak
-
nomodtweak
-
noxkb
-
capslock
-
skip_lockkeys
-
xkb
-
noxkb
-
capslock
-
skip_keycodes
string
-
sloppy_keys
-
skip_dups
-
skip_lockkeys
-
skip_keycodes
string
-
sloppy_keys
-
noskip_dups
-
add_keysyms
-
noadd_keysyms
-
skip_dups
-
noskip_dups
-
add_keysyms
-
clear_mods
-
clear_keys
-
remap
string
-
noadd_keysyms
-
clear_mods
-
clear_keys
-
norepeat
-
repeat
-
nofb
-
remap
string
-
norepeat
-
repeat
-
nobell
-
nosel
-
noprimary
-
nofb
-
nobell
-
nosel
-
nosetprimary
-
noclipboard
-
nosetclipboard
-
noprimary
-
nosetprimary
-
noclipboard
-
seldir
string
-
cursor
[
mode
]
-
nocursor
-
nosetclipboard
-
seldir
string
-
cursor
[
mode
]
-
cursor_drag
-
arrow
n
-
noxfixes
-
nocursor
-
cursor_drag
-
arrow
n
-
alphacut
n
-
alphafrac
fraction
-
alpharemove
-
noxfixes
-
alphacut
n
-
alphafrac
fraction
-
noalphablend
-
nocursorshape
-
cursorpos
-
alpharemove
-
noalphablend
-
nocursorshape
-
nocursorpos
-
xwarppointer
-
noxwarppointer
-
cursorpos
-
nocursorpos
-
xwarppointer
-
buttonmap
string
-
nodragging
-
ncache
n
-
noxwarppointer
-
buttonmap
string
-
nodragging
-
ncache_cr
-
ncache_no_moveraise
-
ncache_no_dtchange
-
ncache
n
-
ncache_cr
-
ncache_no_moveraise
-
ncache_no_rootpixmap
-
ncache_keep_anims
-
ncache_old_wm
-
ncache_no_dtchange
-
ncache_no_rootpixmap
-
ncache_keep_anims
-
ncache_pad
n
-
debug_ncache
-
wireframe
[
str
]
-
ncache_old_wm
-
ncache_pad
n
-
debug_ncache
-
nowireframe
-
nowireframelocal
-
wirecopyrect
mode
-
wireframe
[
str
]
-
nowireframe
-
nowireframelocal
-
nowirecopyrect
-
debug_wireframe
-
scrollcopyrect
mode
-
wirecopyrect
mode
-
nowirecopyrect
-
debug_wireframe
-
noscrollcopyrect
-
scr_area
n
-
scr_skip
list
-
scrollcopyrect
mode
-
noscrollcopyrect
-
scr_area
n
-
scr_inc
list
-
scr_keys
list
-
scr_term
list
-
scr_skip
list
-
scr_inc
list
-
scr_keys
list
-
scr_keyrepeat
lo
-
hi
-
scr_parms
string
-
fixscreen
string
-
scr_term
list
-
scr_keyrepeat
lo
-
hi
-
scr_parms
string
-
debug_scroll
-
noxrecord
-
grab_buster
-
fixscreen
string
-
debug_scroll
-
noxrecord
-
nograb_buster
-
debug_grabs
-
debug_sel
-
grab_buster
-
nograb_buster
-
debug_grabs
-
pointer_mode
n
-
input_skip
n
-
allinput
-
debug_sel
-
pointer_mode
n
-
input_skip
n
-
speeds
rd
,
bw
,
lat
-
wmdt
string
-
debug_pointer
-
allinput
-
speeds
rd
,
bw
,
lat
-
wmdt
string
-
debug_keyboard
-
defer
time
-
wait
time
-
debug_pointer
-
debug_keyboard
-
defer
time
-
wait_ui
factor
-
nowait_bog
-
slow_fb
time
-
wait
time
-
wait_ui
factor
-
nowait_bog
-
xrefresh
time
-
readtimeout
n
-
nap
-
slow_fb
time
-
xrefresh
time
-
readtimeout
n
-
nonap
-
sb
time
-
nofbpm
-
nap
-
nonap
-
sb
time
-
fbpm
-
nodpms
-
dpms
-
nofbpm
-
fbpm
-
nodpms
-
forcedpms
-
clientdpms
-
noserverdpms
-
dpms
-
forcedpms
-
clientdpms
-
noultraext
-
noxdamage
-
xd_area
A
-
noserverdpms
-
noultraext
-
noxdamage
-
xd_mem
f
-
sigpipe
string
-
threads
-
xd_area
A
-
xd_mem
f
-
sigpipe
string
-
nothreads
-
fs
f
-
gaps
n
-
threads
-
nothreads
-
fs
f
-
grow
n
-
fuzz
n
-
debug_tiles
-
gaps
n
-
grow
n
-
fuzz
n
-
snapfb
-
rawfb
string
-
freqtab
file
-
debug_tiles
-
snapfb
-
rawfb
string
-
pipeinput
cmd
-
macnodim
-
macnosleep
-
freqtab
file
-
pipeinput
cmd
-
macnodim
-
macnosaver
-
macnowait
-
macwheel
n
-
macnosleep
-
macnosaver
-
macnowait
-
macnoswap
-
macnoresize
-
maciconanim
n
-
macwheel
n
-
macnoswap
-
macnoresize
-
macmenu
-
gui
[
gui
-
opts
]
-
remote
command
-
maciconanim
n
-
macmenu
-
gui
[
gui
-
opts
]
-
query
variable
-
QD
variable
-
sync
-
remote
command
-
query
variable
-
QD
variable
-
noremote
-
yesremote
-
unsafe
-
sync
-
noremote
-
yesremote
-
safer
-
privremote
-
nocmds
-
unsafe
-
safer
-
privremote
-
allowedcmds
list
-
deny_all
-
nocmds
-
allowedcmds
list
-
deny_all
libvncserver
options
:
libvncserver
options
:
-
rfbport
port
TCP
port
for
RFB
protocol
-
rfbport
port
TCP
port
for
RFB
protocol
...
@@ -11523,7 +11558,7 @@ libvncserver-tight-extension options:
...
@@ -11523,7 +11558,7 @@ libvncserver-tight-extension options:
% x11vnc -help
% x11vnc -help
x11vnc: allow VNC connections to real X11 displays. 0.9.3 lastmod: 2007-09-
10
x11vnc: allow VNC connections to real X11 displays. 0.9.3 lastmod: 2007-09-
26
(type "x11vnc -opts" to just list the options.)
(type "x11vnc -opts" to just list the options.)
...
@@ -12283,22 +12318,42 @@ Options:
...
@@ -12283,22 +12318,42 @@ Options:
FINDCREATEDISPLAY
method
.
This
is
an
alias
for
FINDCREATEDISPLAY
method
.
This
is
an
alias
for
"-display WAIT:cmd=FINDCREATEDISPLAY-Xvfb"
.
"-display WAIT:cmd=FINDCREATEDISPLAY-Xvfb"
.
-
xdummy
As
in
-
create
,
except
Xdummy
instead
of
Xvfb
.
Implies
SSH
NOTE
:
for
both
-
find
and
-
create
you
can
(
should
!)
FD_XDUMMY_NOROOT
=
1.
add
the
"-localhost"
option
to
force
SSH
tunnel
access
.
-
xdummy
As
in
-
create
,
except
Xdummy
instead
of
Xvfb
.
-
xvnc
As
in
-
create
,
except
Xvnc
instead
of
Xvfb
.
-
xvnc
As
in
-
create
,
except
Xvnc
instead
of
Xvfb
.
-
xvnc_redirect
As
in
-
create
,
except
Xvnc
.
redirect
instead
of
Xvfb
.
-
xvnc_redirect
As
in
-
create
,
except
Xvnc
.
redirect
instead
of
Xvfb
.
-
svc
Terminal
services
mode
.
Also
"-service"
.
Alias
for
-
svc
Terminal
services
mode
based
on
SSL
access
.
Alias
for
-
display
WAIT
:
cmd
=
FINDCREATEDISPLAY
-
Xvfb
-
unixpw
-
display
WAIT
:
cmd
=
FINDCREATEDISPLAY
-
Xvfb
-
unixpw
-
users
-
users
unixpw
=
-
ssl
SAVE
unixpw
=
-
ssl
SAVE
Also
"-service"
.
-
svc_xdummy
As
-
svc
except
Xdummy
instead
of
Xvfb
.
Implies
-
svc_xdummy
As
-
svc
except
Xdummy
instead
of
Xvfb
.
FD_XDUMMY_NOROOT
=
1.
-
svc_xvnc
As
-
svc
except
Xvnc
instead
of
Xvfb
.
-
svc_xvnc
As
-
svc
except
Xvnc
instead
of
Xvfb
.
-
xdmsvc
Terminal
services
mode
.
Also
"-xdm_service"
.
Alias
for
-
xdmsvc
Display
manager
Terminal
services
mode
based
on
SSL
.
-
display
WAIT
:
cmd
=
FINDCREATEDISPLAY
-
Xvfb
.
xdmcp
-
unixpw
Alias
for
-
display
WAIT
:
cmd
=
FINDCREATEDISPLAY
-
Xvfb
.
xdmcp
-
users
unixpw
=
-
ssl
SAVE
-
unixpw
-
users
unixpw
=
-
ssl
SAVE
Also
"-xdm_service"
.
To
create
a
session
a
user
will
have
to
first
log
in
to
the
-
unixpw
dialog
and
then
log
in
again
to
the
XDM
/
GDM
/
KDM
prompt
.
Subsequent
re
-
connections
will
only
require
the
-
unixpw
password
.
See
the
discussion
under
-
display
WAIT
:...
for
more
details
about
XDM
,
etc
configuration
.
-
sshxdmsvc
Display
manager
Terminal
services
mode
based
on
SSH
.
Alias
for
-
display
WAIT
:
cmd
=
FINDCREATEDISPLAY
-
Xvfb
.
xdmcp
-
localhost
.
The
-
localhost
option
constrains
connections
to
come
in
via
a
SSH
tunnel
(
which
will
require
a
login
).
To
create
a
session
a
user
will
also
have
to
log
into
the
XDM
GDM
KDM
prompt
.
Subsequent
re
-
connections
will
only
only
require
the
SSH
login
.
See
the
discussion
under
-
display
WAIT
:...
for
more
details
about
XDM
,
etc
configuration
.
-
redirect
port
As
in
FINDCREATEDISPLAY
-
Xvnc
.
redirect
mode
except
-
redirect
port
As
in
FINDCREATEDISPLAY
-
Xvnc
.
redirect
mode
except
redirect
immediately
(
i
.
e
.
without
X
session
finding
redirect
immediately
(
i
.
e
.
without
X
session
finding
...
@@ -12448,14 +12503,19 @@ Options:
...
@@ -12448,14 +12503,19 @@ Options:
actually start up an X server.
actually start up an X server.
By default FINDCREATEDISPLAY will try Xdummy and then
By default FINDCREATEDISPLAY will try Xdummy and then
Xvfb. The Xdummy wrapper is part of the x11vnc source
Xvfb:
code (x11vnc/misc/Xdummy) It should be available in
PATH and have run "Xdummy -install" once to create
The Xdummy wrapper is part of the x11vnc source code
the shared library. Xdummy requires root permission and
(x11vnc/misc/Xdummy) It should be available in PATH and
only works on Linux. (Note: specify FD_XDUMMY_NOROOT=1
have run "Xdummy -install" once to create the shared
to skip a check for the root id; evidently your sudo(1)
library. Xdummy requires root permission and only works
will take care of everything). Xvfb is available on
on Linux. (Note: specify FD_XDUMMY_NOROOT=1 to skip
most platforms and does not require root.
a check for the root id; evidently your sudo(1) will
take care of everything. The -xdummy and -svc_xdummy
options imply FD_XDUMMY_NOROOT=1).
Xvfb is available on most platforms and does not
require root.
When x11vnc exits (i.e. user disconnects) the X
When x11vnc exits (i.e. user disconnects) the X
server session stays running in the background.
server session stays running in the background.
...
@@ -12527,8 +12587,9 @@ Options:
...
@@ -12527,8 +12587,9 @@ Options:
for kdm in kdmrc: Enable=true in section [Xdmcp]
for kdm in kdmrc: Enable=true in section [Xdmcp]
for xdm in xdm-config: DisplayManager.requestPort: 177
for xdm in xdm-config: DisplayManager.requestPort: 177
See the shorthand options above "-svc" and "-xdmsvc"
See the shorthand options above "-svc", "-xdmsvc"
that specify the above options for some useful cases.
and "-sshxdmsvc" that specify the above options for
some useful cases.
If you set the env. var WAITBG=1 x11vnc will go into
If you set the env. var WAITBG=1 x11vnc will go into
the background once listening in wait mode.
the background once listening in wait mode.
...
...
This diff is collapsed.
Click to expand it.
x11vnc/connections.c
View file @
54237e33
...
@@ -1934,10 +1934,10 @@ void read_x11vnc_remote_prop(int nomsg) {
...
@@ -1934,10 +1934,10 @@ void read_x11vnc_remote_prop(int nomsg) {
}
else
if
(
strstr
(
x11vnc_remote_str
,
"cmd="
)
&&
}
else
if
(
strstr
(
x11vnc_remote_str
,
"cmd="
)
&&
strstr
(
x11vnc_remote_str
,
"passwd"
))
{
strstr
(
x11vnc_remote_str
,
"passwd"
))
{
rfbLog
(
"read X11VNC_REMOTE: *
\n
"
);
rfbLog
(
"read X11VNC_REMOTE: *
\n
"
);
}
else
if
(
strlen
(
x11vnc_remote_str
)
>
3
8
)
{
}
else
if
(
strlen
(
x11vnc_remote_str
)
>
3
6
)
{
char
trim
[
100
];
char
trim
[
100
];
trim
[
0
]
=
'\0'
;
trim
[
0
]
=
'\0'
;
strncat
(
trim
,
x11vnc_remote_str
,
3
8
);
strncat
(
trim
,
x11vnc_remote_str
,
3
6
);
rfbLog
(
"read X11VNC_REMOTE: %s ...
\n
"
,
trim
);
rfbLog
(
"read X11VNC_REMOTE: %s ...
\n
"
,
trim
);
}
else
{
}
else
{
...
...
This diff is collapsed.
Click to expand it.
x11vnc/help.c
View file @
54237e33
...
@@ -782,22 +782,42 @@ void print_help(int mode) {
...
@@ -782,22 +782,42 @@ void print_help(int mode) {
" FINDCREATEDISPLAY method. This is an alias for
\n
"
" FINDCREATEDISPLAY method. This is an alias for
\n
"
"
\"
-display WAIT:cmd=FINDCREATEDISPLAY-Xvfb
\"
.
\n
"
"
\"
-display WAIT:cmd=FINDCREATEDISPLAY-Xvfb
\"
.
\n
"
"
\n
"
"
\n
"
"-xdummy As in -create, except Xdummy instead of Xvfb. Implies
\n
"
" SSH NOTE: for both -find and -create you can (should!)
\n
"
" FD_XDUMMY_NOROOT=1.
\n
"
" add the
\"
-localhost
\"
option to force SSH tunnel access.
\n
"
"
\n
"
"-xdummy As in -create, except Xdummy instead of Xvfb.
\n
"
"-xvnc As in -create, except Xvnc instead of Xvfb.
\n
"
"-xvnc As in -create, except Xvnc instead of Xvfb.
\n
"
"-xvnc_redirect As in -create, except Xvnc.redirect instead of Xvfb.
\n
"
"-xvnc_redirect As in -create, except Xvnc.redirect instead of Xvfb.
\n
"
"
\n
"
"
\n
"
"-svc Terminal services mode
. Also
\"
-service
\"
.
Alias for
\n
"
"-svc Terminal services mode
based on SSL access.
Alias for
\n
"
" -display WAIT:cmd=FINDCREATEDISPLAY-Xvfb -unixpw
\n
"
" -display WAIT:cmd=FINDCREATEDISPLAY-Xvfb -unixpw
-users
\n
"
"
-users unixpw= -ssl SAVE
\n
"
"
unixpw= -ssl SAVE Also
\"
-service
\"
.
\n
"
"
\n
"
"
\n
"
"-svc_xdummy As -svc except Xdummy instead of Xvfb. Implies
\n
"
"-svc_xdummy As -svc except Xdummy instead of Xvfb.
\n
"
" FD_XDUMMY_NOROOT=1.
\n
"
"-svc_xvnc As -svc except Xvnc instead of Xvfb.
\n
"
"-svc_xvnc As -svc except Xvnc instead of Xvfb.
\n
"
"
\n
"
"
\n
"
"-xdmsvc Terminal services mode. Also
\"
-xdm_service
\"
. Alias for
\n
"
"-xdmsvc Display manager Terminal services mode based on SSL.
\n
"
" -display WAIT:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp -unixpw
\n
"
" Alias for -display WAIT:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp
\n
"
" -users unixpw= -ssl SAVE
\n
"
" -unixpw -users unixpw= -ssl SAVE Also
\"
-xdm_service
\"
.
\n
"
"
\n
"
" To create a session a user will have to first log in
\n
"
" to the -unixpw dialog and then log in again to the
\n
"
" XDM/GDM/KDM prompt. Subsequent re-connections will
\n
"
" only require the -unixpw password. See the discussion
\n
"
" under -display WAIT:... for more details about XDM,
\n
"
" etc configuration.
\n
"
"
\n
"
"-sshxdmsvc Display manager Terminal services mode based on SSH.
\n
"
" Alias for -display WAIT:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp
\n
"
" -localhost.
\n
"
"
\n
"
" The -localhost option constrains connections to come
\n
"
" in via a SSH tunnel (which will require a login).
\n
"
" To create a session a user will also have to log into
\n
"
" the XDM GDM KDM prompt. Subsequent re-connections will
\n
"
" only only require the SSH login. See the discussion
\n
"
" under -display WAIT:... for more details about XDM,
\n
"
" etc configuration.
\n
"
"
\n
"
"
\n
"
"-redirect port As in FINDCREATEDISPLAY-Xvnc.redirect mode except
\n
"
"-redirect port As in FINDCREATEDISPLAY-Xvnc.redirect mode except
\n
"
" redirect immediately (i.e. without X session finding
\n
"
" redirect immediately (i.e. without X session finding
\n
"
...
@@ -948,14 +968,19 @@ void print_help(int mode) {
...
@@ -948,14 +968,19 @@ void print_help(int mode) {
" actually start up an X server.
\n
"
" actually start up an X server.
\n
"
"
\n
"
"
\n
"
" By default FINDCREATEDISPLAY will try Xdummy and then
\n
"
" By default FINDCREATEDISPLAY will try Xdummy and then
\n
"
" Xvfb. The Xdummy wrapper is part of the x11vnc source
\n
"
" Xvfb:
\n
"
" code (x11vnc/misc/Xdummy) It should be available in
\n
"
"
\n
"
" PATH and have run
\"
Xdummy -install
\"
once to create
\n
"
" The Xdummy wrapper is part of the x11vnc source code
\n
"
" the shared library. Xdummy requires root permission and
\n
"
" (x11vnc/misc/Xdummy) It should be available in PATH and
\n
"
" only works on Linux. (Note: specify FD_XDUMMY_NOROOT=1
\n
"
" have run
\"
Xdummy -install
\"
once to create the shared
\n
"
" to skip a check for the root id; evidently your sudo(1)
\n
"
" library. Xdummy requires root permission and only works
\n
"
" will take care of everything). Xvfb is available on
\n
"
" on Linux. (Note: specify FD_XDUMMY_NOROOT=1 to skip
\n
"
" most platforms and does not require root.
\n
"
" a check for the root id; evidently your sudo(1) will
\n
"
" take care of everything. The -xdummy and -svc_xdummy
\n
"
" options imply FD_XDUMMY_NOROOT=1).
\n
"
"
\n
"
" Xvfb is available on most platforms and does not
\n
"
" require root.
\n
"
"
\n
"
"
\n
"
" When x11vnc exits (i.e. user disconnects) the X
\n
"
" When x11vnc exits (i.e. user disconnects) the X
\n
"
" server session stays running in the background.
\n
"
" server session stays running in the background.
\n
"
...
@@ -1027,8 +1052,9 @@ void print_help(int mode) {
...
@@ -1027,8 +1052,9 @@ void print_help(int mode) {
" for kdm in kdmrc: Enable=true in section [Xdmcp]
\n
"
" for kdm in kdmrc: Enable=true in section [Xdmcp]
\n
"
" for xdm in xdm-config: DisplayManager.requestPort: 177
\n
"
" for xdm in xdm-config: DisplayManager.requestPort: 177
\n
"
"
\n
"
"
\n
"
" See the shorthand options above
\"
-svc
\"
and
\"
-xdmsvc
\"\n
"
" See the shorthand options above
\"
-svc
\"
,
\"
-xdmsvc
\"\n
"
" that specify the above options for some useful cases.
\n
"
" and
\"
-sshxdmsvc
\"
that specify the above options for
\n
"
" some useful cases.
\n
"
"
\n
"
"
\n
"
" If you set the env. var WAITBG=1 x11vnc will go into
\n
"
" If you set the env. var WAITBG=1 x11vnc will go into
\n
"
" the background once listening in wait mode.
\n
"
" the background once listening in wait mode.
\n
"
...
...
This diff is collapsed.
Click to expand it.
x11vnc/ssltools.h
View file @
54237e33
...
@@ -710,6 +710,9 @@ char find_display[] =
...
@@ -710,6 +710,9 @@ char find_display[] =
"PATH=$PATH:/bin:/usr/bin:/usr/X11R6/bin:/usr/bin/X11:/usr/openwin/bin:/usr/ucb
\n
"
"PATH=$PATH:/bin:/usr/bin:/usr/X11R6/bin:/usr/bin/X11:/usr/openwin/bin:/usr/ucb
\n
"
"export PATH
\n
"
"export PATH
\n
"
"
\n
"
"
\n
"
"COLUMNS=256
\n
"
"export COLUMNS
\n
"
"
\n
"
"# -n means no xauth, -f prescribes file to use.
\n
"
"# -n means no xauth, -f prescribes file to use.
\n
"
"showxauth=1
\n
"
"showxauth=1
\n
"
"if [
\"
X$1
\"
=
\"
X-n
\"
]; then
\n
"
"if [
\"
X$1
\"
=
\"
X-n
\"
]; then
\n
"
...
@@ -833,6 +836,10 @@ char find_display[] =
...
@@ -833,6 +836,10 @@ char find_display[] =
" fi
\n
"
" fi
\n
"
" fi
\n
"
" fi
\n
"
" done
\n
"
" done
\n
"
" echo
\"\"
# failure
\n
"
" if [
\"
X$showxauth
\"
!=
\"
X
\"
]; then
\n
"
" echo
\"\"\n
"
" fi
\n
"
" exit 1
\n
"
" exit 1
\n
"
"fi
\n
"
"fi
\n
"
"
\n
"
"
\n
"
...
@@ -995,7 +1002,12 @@ char find_display[] =
...
@@ -995,7 +1002,12 @@ char find_display[] =
" exit
\n
"
" exit
\n
"
"fi
\n
"
"fi
\n
"
"if [
\"
X$display
\"
=
\"
X
\"
]; then
\n
"
"if [
\"
X$display
\"
=
\"
X
\"
]; then
\n
"
" echo
\"\"
# failure
\n
"
" if [
\"
X$FINDDISPLAY_run
\"
=
\"
X
\"
]; then
\n
"
" echo
\"\"
# failure
\n
"
" if [
\"
X$showxauth
\"
!=
\"
X
\"
]; then
\n
"
" echo
\"\"\n
"
" fi
\n
"
" fi
\n
"
" exit 1
\n
"
" exit 1
\n
"
"fi
\n
"
"fi
\n
"
"
\n
"
"
\n
"
...
@@ -1046,6 +1058,9 @@ char create_display[] =
...
@@ -1046,6 +1058,9 @@ char create_display[] =
" set -xv
\n
"
" set -xv
\n
"
"fi
\n
"
"fi
\n
"
"
\n
"
"
\n
"
"COLUMNS=256
\n
"
"export COLUMNS
\n
"
"
\n
"
"findfree() {
\n
"
"findfree() {
\n
"
" try=20
\n
"
" try=20
\n
"
" n=
\"\"\n
"
" n=
\"\"\n
"
...
@@ -1339,18 +1354,28 @@ char create_display[] =
...
@@ -1339,18 +1354,28 @@ char create_display[] =
" fi
\n
"
" fi
\n
"
"
\n
"
"
\n
"
" result=0
\n
"
" result=0
\n
"
" ns=4
\n
"
" #ns=4
\n
"
" ns=0
\n
"
" ns2=1
\n
"
" #if uname | grep SunOS > /dev/null; then
\n
"
" # ns=2
\n
"
" #fi
\n
"
"
\n
"
" if [
\"
X$use_xdmcp_query
\"
=
\"
X1
\"
]; then
\n
"
" if [
\"
X$use_xdmcp_query
\"
=
\"
X1
\"
]; then
\n
"
" # we cannot use -nolisten tcp
\n
"
" # we cannot use -nolisten tcp
\n
"
" echo
\"
$* -once -query localhost $FD_OPTS
\"
1>&2
\n
"
" echo
\"
$* -once -query localhost $FD_OPTS
\"
1>&2
\n
"
" if [
\"
X$have_root
\"
!=
\"
X
\"
]; then
\n
"
" if [
\"
X$have_root
\"
!=
\"
X
\"
]; then
\n
"
" $have_nohup $* -once -query localhost $FD_OPTS 1>&2 &
\n
"
" $have_nohup $* -once -query localhost $FD_OPTS 1>&2 &
\n
"
" else
\n
"
" else
\n
"
" $have_nohup sh -c
\"
(sleep $ns; $* -once -query localhost -auth $authfile $FD_OPTS)
\"
1>&2 &
\n
"
" if [
\"
X$ns
\"
=
\"
X0
\"
]; then
\n
"
" ns=0
\n
"
" $have_nohup sh -c
\"
$* -once -query localhost -auth $authfile $FD_OPTS
\"
1>&2 &
\n
"
" result=1
\n
"
" else
\n
"
" $have_nohup sh -c
\"
(sleep $ns; $* -once -query localhost -auth $authfile $FD_OPTS)
\"
1>&2 &
\n
"
" #result=1
\n
"
" fi
\n
"
" fi
\n
"
" fi
\n
"
" pid=$!
\n
"
" pid=$!
\n
"
" sleep 10
\n
"
" elif [
\"
X$have_startx
\"
!=
\"
X
\"
-o
\"
X$have_xinit
\"
!=
\"
X
\"
]; then
\n
"
" elif [
\"
X$have_startx
\"
!=
\"
X
\"
-o
\"
X$have_xinit
\"
!=
\"
X
\"
]; then
\n
"
" if [
\"
X$have_startx
\"
!=
\"
X
\"
]; then
\n
"
" if [
\"
X$have_startx
\"
!=
\"
X
\"
]; then
\n
"
" sxcmd=$have_startx
\n
"
" sxcmd=$have_startx
\n
"
...
@@ -1361,43 +1386,94 @@ char create_display[] =
...
@@ -1361,43 +1386,94 @@ char create_display[] =
" if [
\"
X$have_root
\"
!=
\"
X
\"
]; then
\n
"
" if [
\"
X$have_root
\"
!=
\"
X
\"
]; then
\n
"
" $sxcmd $sess -- $* -nolisten tcp -auth $authfile $FD_OPTS 1>&2 &
\n
"
" $sxcmd $sess -- $* -nolisten tcp -auth $authfile $FD_OPTS 1>&2 &
\n
"
" else
\n
"
" else
\n
"
" $have_nohup sh -c
\"
(sleep $ns; $sxcmd $sess -- $* -nolisten tcp -auth $authfile $FD_OPTS)
\"
1>&2 &
\n
"
" if [
\"
X$ns
\"
=
\"
X0
\"
]; then
\n
"
" ns=0
\n
"
" $have_nohup sh -c
\"
$sxcmd $sess -- $* -nolisten tcp -auth $authfile $FD_OPTS
\"
1>&2 &
\n
"
" result=1
\n
"
" else
\n
"
" # Why did we ever sleep before starting the server??
\n
"
" $have_nohup sh -c
\"
(sleep $ns; $sxcmd $sess -- $* -nolisten tcp -auth $authfile $FD_OPTS)
\"
1>&2 &
\n
"
" #result=1
\n
"
" fi
\n
"
" fi
\n
"
" fi
\n
"
" pid=$!
\n
"
" pid=$!
\n
"
" else
\n
"
" else
\n
"
" # need to emulate startx/xinit ourselves...
\n
"
" echo
\"
$* -nolisten tcp -auth $authfile $FD_OPTS
\"
1>&2
\n
"
" echo
\"
$* -nolisten tcp -auth $authfile $FD_OPTS
\"
1>&2
\n
"
" if [
\"
X$have_root
\"
!=
\"
X
\"
]; then
\n
"
" if [
\"
X$have_root
\"
!=
\"
X
\"
]; then
\n
"
" $have_nohup $* -nolisten tcp -auth $authfile $FD_OPTS 1>&2 &
\n
"
" $have_nohup $* -nolisten tcp -auth $authfile $FD_OPTS 1>&2 &
\n
"
" pid=$!
\n
"
" pid=$!
\n
"
" sleep
2
\n
"
" sleep
3
\n
"
" $have_nohup $sess 1>&2 &
\n
"
" $have_nohup $sess 1>&2 &
\n
"
" else
\n
"
" else
\n
"
" $have_nohup sh -c
\"
(sleep $ns; $* -nolisten tcp -auth $authfile $FD_OPTS)
\"
1>&2 &
\n
"
" if [
\"
X$ns
\"
=
\"
X0
\"
]; then
\n
"
" $have_nohup sh -c
\"
$* -nolisten tcp -auth $authfile $FD_OPTS
\"
1>&2 &
\n
"
" else
\n
"
" $have_nohup sh -c
\"
(sleep $ns; $* -nolisten tcp -auth $authfile $FD_OPTS)
\"
1>&2 &
\n
"
" #result=1
\n
"
" fi
\n
"
" pid=$!
\n
"
" pid=$!
\n
"
" sleep 2
\n
"
" sleep 3
\n
"
" $have_nohup sh -c
\"
(sleep $ns; $sess)
\"
1>&2 &
\n
"
" $have_nohup sh -c
\"
(sleep 3; $sess)
\"
1>&2 &
\n
"
" ns=0
\n
"
" result=1
\n
"
" fi
\n
"
" fi
\n
"
" fi
\n
"
" fi
\n
"
" sleep $ns
\n
"
" if [
\"
X$result
\"
=
\"
X1
\"
]; then
\n
"
" :
\n
"
" elif [ -d /proc/$pid ]; then
\n
"
" result=1
\n
"
" elif kill -0 $pid; then
\n
"
" result=1
\n
"
" else
\n
"
" result=0
\n
"
" fi
\n
"
" if uname | grep SunOS > /dev/null; then
\n
"
" if uname | grep SunOS > /dev/null; then
\n
"
" $have_nohup sh -c
\"
(sleep 60; rm -f $rmf)
\"
1>&2 &
\n
"
" $have_nohup sh -c
\"
(sleep 60; rm -f $rmf)
\"
1>&2 &
\n
"
" else
\n
"
" else
\n
"
" $have_nohup sh -c
\"
(sleep 60; rm -f $rmf $authfile)
\"
1>&2 &
\n
"
" $have_nohup sh -c
\"
(sleep 60; rm -f $rmf $authfile)
\"
1>&2 &
\n
"
" fi
\n
"
" fi
\n
"
"
\n
"
"
\n
"
" t=0
\n
"
" tmax=5
\n
"
" while [ $t -lt $tmax ]
\n
"
" do
\n
"
" t=`expr $t + 1`
\n
"
" sleep $ns2
\n
"
" pid2=`head -n 1
\"
/tmp/.X$N-lock
\"
2>/dev/null | sed -e 's/[ ]//g' | grep '^[0-9][0-9]*$'`
\n
"
" if [
\"
X$pid2
\"
=
\"
X
\"
]; then
\n
"
" pid2=9999999
\n
"
" fi
\n
"
" if [
\"
X$result
\"
=
\"
X1
\"
]; then
\n
"
" break
\n
"
" elif [ -d /proc/$pid2 ]; then
\n
"
" result=1
\n
"
" break
\n
"
" elif kill -0 $pid2 2>/dev/null; then
\n
"
" result=1
\n
"
" break
\n
"
" elif [ -d /proc/$pid ]; then
\n
"
" result=1
\n
"
" break
\n
"
" elif kill -0 $pid 2>/dev/null; then
\n
"
" result=1
\n
"
" break
\n
"
" else
\n
"
" result=0
\n
"
" fi
\n
"
" if [
\"
X$have_netstat
\"
!=
\"
X
\"
]; then
\n
"
" if $have_netstat -an | grep
\"
/tmp/.X11-unix/X$N
\\
$
\"
> /dev/null; then
\n
"
" result=1
\n
"
" fi
\n
"
" fi
\n
"
" done
\n
"
"
\n
"
"# if [
\"
X$result
\"
=
\"
X1
\"
]; then
\n
"
"# if [
\"
X$use_xdmcp_query
\"
=
\"
X0
\"
-a
\"
X$have_xdpyinfo
\"
!=
\"
X
\"
]; then
\n
"
"# ok=0
\n
"
"# for t in 1 2 3 4
\n
"
"# do
\n
"
"# $have_xdpyinfo >/dev/null 2>&1
\n
"
"# if [ $? != 0 ]; then
\n
"
"# sleep 1
\n
"
"# else
\n
"
"# ok=1
\n
"
"# break;
\n
"
"# fi
\n
"
"# done
\n
"
"# if [
\"
X$ok
\"
=
\"
X0
\"
]; then
\n
"
"# result=0
\n
"
"# fi
\n
"
"# fi
\n
"
"# fi
\n
"
"
\n
"
" if [
\"
X$redir_daemon
\"
!=
\"
X
\"
-a
\"
X$result
\"
=
\"
X1
\"
]; then
\n
"
" if [
\"
X$redir_daemon
\"
!=
\"
X
\"
-a
\"
X$result
\"
=
\"
X1
\"
]; then
\n
"
" redir_daemon=`echo
\"
$redir_daemon
\"
| sed -e 's|[^A-z0-9:,/]||g'`
\n
"
" redir_daemon=`echo
\"
$redir_daemon
\"
| sed -e 's|[^A-z0-9:,/]||g'`
\n
"
" xprog=$X11VNC_PROG
\n
"
" xprog=$X11VNC_PROG
\n
"
...
@@ -1671,7 +1747,7 @@ char create_display[] =
...
@@ -1671,7 +1747,7 @@ char create_display[] =
" p_ok=1
\n
"
" p_ok=1
\n
"
"fi
\n
"
"fi
\n
"
"
\n
"
"
\n
"
"for prog in startx xinit xdm gdm kdm xterm Xdummy Xvfb Xvnc xauth
mcookie md5sum xmodmap startkde gnome-session blackbox fvwm2 mwm openbox twm windowmaker wmaker enlightenment metacity X Xorg XFree86 Xsun Xsession dtwm netstat nohup esddsp konsole gnome-termina
l
\n
"
"for prog in startx xinit xdm gdm kdm xterm Xdummy Xvfb Xvnc xauth
xdpyinfo mcookie md5sum xmodmap startkde gnome-session blackbox fvwm2 mwm openbox twm windowmaker wmaker enlightenment metacity X Xorg XFree86 Xsun Xsession dtwm netstat nohup esddsp konsole gnome-terminal per
l
\n
"
"do
\n
"
"do
\n
"
" p2=`echo
\"
$prog
\"
| sed -e 's/-/_/g'`
\n
"
" p2=`echo
\"
$prog
\"
| sed -e 's/-/_/g'`
\n
"
" eval
\"
have_$p2=''
\"\n
"
" eval
\"
have_$p2=''
\"\n
"
...
@@ -1726,15 +1802,15 @@ char create_display[] =
...
@@ -1726,15 +1802,15 @@ char create_display[] =
" curr_try=`echo
\"
$curr_try
\"
| sed -e 's/[+.-]xdmcp//'`
\n
"
" curr_try=`echo
\"
$curr_try
\"
| sed -e 's/[+.-]xdmcp//'`
\n
"
" curr_try=`echo
\"
$curr_try
\"
| sed -e 's/[+.-]redirect//'`
\n
"
" curr_try=`echo
\"
$curr_try
\"
| sed -e 's/[+.-]redirect//'`
\n
"
"
\n
"
"
\n
"
" if echo
\"
$curr_try
\"
| grep -iw
\"
^Xdummy
\"
> /dev/null; then
\n
"
" if echo
\"
$curr_try
\"
| grep -i '^Xdummy
\\
>'
> /dev/null; then
\n
"
" try_Xdummy
\n
"
" try_Xdummy
\n
"
" elif echo
\"
$curr_try
\"
| grep -i
w
\"
^Xvfb
\"
> /dev/null; then
\n
"
" elif echo
\"
$curr_try
\"
| grep -i
'^Xvfb
\\
>'
> /dev/null; then
\n
"
" try_Xvfb
\n
"
" try_Xvfb
\n
"
" elif echo
\"
$curr_try
\"
| grep -i
w
\"
^Xvnc
\"
> /dev/null; then
\n
"
" elif echo
\"
$curr_try
\"
| grep -i
'^Xvnc
\\
>'
> /dev/null; then
\n
"
" try_Xvnc
\n
"
" try_Xvnc
\n
"
" elif echo
\"
$curr_try
\"
| grep -i
w
\"
^Xsrv
\"
> /dev/null; then
\n
"
" elif echo
\"
$curr_try
\"
| grep -i
'^Xsrv
\\
>'
> /dev/null; then
\n
"
" try_Xsrv
\n
"
" try_Xsrv
\n
"
" elif echo
\"
$curr_try
\"
| grep -i
w
\"
^X
\"
> /dev/null; then
\n
"
" elif echo
\"
$curr_try
\"
| grep -i
'^X
\\
>'
> /dev/null; then
\n
"
" try_X
\n
"
" try_X
\n
"
" fi
\n
"
" fi
\n
"
" if [
\"
X$result
\"
=
\"
X1
\"
]; then
\n
"
" if [
\"
X$result
\"
=
\"
X1
\"
]; then
\n
"
...
...
This diff is collapsed.
Click to expand it.
x11vnc/user.c
View file @
54237e33
...
@@ -1412,6 +1412,7 @@ int wait_for_client(int *argc, char** argv, int http) {
...
@@ -1412,6 +1412,7 @@ int wait_for_client(int *argc, char** argv, int http) {
if
(
fd
>=
0
)
{
if
(
fd
>=
0
)
{
write
(
fd
,
find_display
,
strlen
(
find_display
));
write
(
fd
,
find_display
,
strlen
(
find_display
));
close
(
fd
);
close
(
fd
);
set_env
(
"FINDDISPLAY_run"
,
"1"
);
sprintf
(
com
,
"/bin/sh %s -n; rm -f %s"
,
tmp
,
tmp
);
sprintf
(
com
,
"/bin/sh %s -n; rm -f %s"
,
tmp
,
tmp
);
system
(
com
);
system
(
com
);
}
}
...
...
This diff is collapsed.
Click to expand it.
x11vnc/util.c
View file @
54237e33
...
@@ -404,6 +404,67 @@ double rfac(void) {
...
@@ -404,6 +404,67 @@ double rfac(void) {
return
f
;
return
f
;
}
}
void
check_allinput_rate
(
void
)
{
static
double
last_all_input_check
=
0
.
0
,
last_all_input_start
=
0
.
0
;
static
int
set
=
0
;
if
(
!
set
)
{
set
=
1
;
last_all_input_check
=
dnow
();
}
else
{
int
dt
=
4
;
if
(
x11vnc_current
>
last_all_input_check
+
dt
)
{
int
n
,
nq
=
0
;
while
((
n
=
rfbCheckFds
(
screen
,
0
)))
{
nq
+=
n
;
}
fprintf
(
stderr
,
"nqueued: %d
\n
"
,
nq
);
if
(
0
&&
nq
>
25
*
dt
)
{
double
rate
=
nq
/
dt
;
rfbLog
(
"Client is sending %.1f extra requests per second for the
\n
"
,
rate
);
rfbLog
(
"past %d seconds! Switching to -allpinput mode. (queued: %d)
\n
"
,
dt
,
nq
);
all_input
=
1
;
}
set
=
0
;
}
}
}
static
void
do_allinput
(
long
usec
)
{
static
double
last
=
0
.
0
;
static
int
meas
=
0
;
int
n
,
f
=
1
,
cnt
=
0
;
long
usec0
;
double
now
;
if
(
!
screen
||
!
screen
->
clientHead
)
{
return
;
}
if
(
usec
<
0
)
{
usec
=
0
;
}
usec0
=
usec
;
if
(
last
==
0
.
0
)
{
last
=
dnow
();
}
while
((
n
=
rfbCheckFds
(
screen
,
usec
))
>
0
)
{
if
(
f
)
{
fprintf
(
stderr
,
" *"
);
f
=
0
;
}
if
(
cnt
++
>
30
)
{
break
;
}
meas
+=
n
;
}
fprintf
(
stderr
,
"-%d"
,
cnt
);
now
=
dnow
();
if
(
now
>
last
+
2
.
0
)
{
double
rate
=
meas
/
(
now
-
last
);
fprintf
(
stderr
,
"
\n
%.2f "
,
rate
);
meas
=
0
;
last
=
dnow
();
}
}
/*
/*
* utility wrapper to call rfbProcessEvents
* utility wrapper to call rfbProcessEvents
* checks that we are not in threaded mode.
* checks that we are not in threaded mode.
...
@@ -411,6 +472,7 @@ double rfac(void) {
...
@@ -411,6 +472,7 @@ double rfac(void) {
#define USEC_MAX 999999
/* libvncsever assumes < 1 second */
#define USEC_MAX 999999
/* libvncsever assumes < 1 second */
void
rfbPE
(
long
usec
)
{
void
rfbPE
(
long
usec
)
{
int
uip0
=
unixpw_in_progress
;
int
uip0
=
unixpw_in_progress
;
static
int
check_rate
=
-
1
;
if
(
!
screen
)
{
if
(
!
screen
)
{
return
;
return
;
}
}
...
@@ -438,6 +500,22 @@ void rfbPE(long usec) {
...
@@ -438,6 +500,22 @@ void rfbPE(long usec) {
;
/* this is new unixpw client */
;
/* this is new unixpw client */
}
}
}
}
if
(
check_rate
!=
0
)
{
if
(
check_rate
<
0
)
{
if
(
getenv
(
"CHECK_RATE"
))
{
check_rate
=
1
;
}
else
{
check_rate
=
0
;
}
}
if
(
check_rate
&&
!
all_input
&&
x11vnc_current
<
last_client
+
45
)
{
check_allinput_rate
();
}
}
if
(
all_input
)
{
do_allinput
(
usec
);
}
}
}
void
rfbCFD
(
long
usec
)
{
void
rfbCFD
(
long
usec
)
{
...
@@ -459,19 +537,15 @@ void rfbCFD(long usec) {
...
@@ -459,19 +537,15 @@ void rfbCFD(long usec) {
(
int
)
usec
,
tm
-
x11vnc_start
);
(
int
)
usec
,
tm
-
x11vnc_start
);
}
}
#if 0
fprintf(stderr, "handleEventsEagerly: %d\n", screen->handleEventsEagerly);
#endif
if
(
!
use_threads
)
{
if
(
!
use_threads
)
{
if
(
0
&&
all_input
)
{
if
(
all_input
)
{
static
int
cnt
=
0
;
do_allinput
(
usec
);
int
f
=
1
;
while
(
rfbCheckFds
(
screen
,
usec
)
>
0
)
{
if
(
f
)
{
cnt
++
;
f
=
0
;
}
fprintf
(
stderr
,
"-%d"
,
cnt
);
}
}
else
{
}
else
{
/* XXX how for cmdline? */
if
(
all_input
)
{
if
(
all_input
)
{
screen
->
handleEventsEagerly
=
TRUE
;
screen
->
handleEventsEagerly
=
TRUE
;
}
else
{
}
else
{
...
...
This diff is collapsed.
Click to expand it.
x11vnc/x11vnc.1
View file @
54237e33
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
.TH X11VNC "1" "September 2007" "x11vnc " "User Commands"
.TH X11VNC "1" "September 2007" "x11vnc " "User Commands"
.SH NAME
.SH NAME
x11vnc - allow VNC connections to real X11 displays
x11vnc - allow VNC connections to real X11 displays
version: 0.9.3, lastmod: 2007-09-
10
version: 0.9.3, lastmod: 2007-09-
26
.SH SYNOPSIS
.SH SYNOPSIS
.B x11vnc
.B x11vnc
[OPTION]...
[OPTION]...
...
@@ -930,11 +930,13 @@ First try to find the user's display using FINDDISPLAY,
...
@@ -930,11 +930,13 @@ First try to find the user's display using FINDDISPLAY,
if that doesn't succeed create an X session via the
if that doesn't succeed create an X session via the
FINDCREATEDISPLAY method. This is an alias for
FINDCREATEDISPLAY method. This is an alias for
"\fB-display\fR \fIWAIT:cmd=FINDCREATEDISPLAY-Xvfb\fR".
"\fB-display\fR \fIWAIT:cmd=FINDCREATEDISPLAY-Xvfb\fR".
.IP
SSH NOTE: for both \fB-find\fR and \fB-create\fR you can (should!)
add the "\fB-localhost\fR" option to force SSH tunnel access.
.PP
.PP
\fB-xdummy\fR
\fB-xdummy\fR
.IP
.IP
As in \fB-create,\fR except Xdummy instead of Xvfb. Implies
As in \fB-create,\fR except Xdummy instead of Xvfb.
FD_XDUMMY_NOROOT=1.
.PP
.PP
\fB-xvnc\fR
\fB-xvnc\fR
.IP
.IP
...
@@ -946,14 +948,13 @@ As in \fB-create,\fR except Xvnc.redirect instead of Xvfb.
...
@@ -946,14 +948,13 @@ As in \fB-create,\fR except Xvnc.redirect instead of Xvfb.
.PP
.PP
\fB-svc\fR
\fB-svc\fR
.IP
.IP
Terminal services mode
. Also "\fB-service\fR".
Alias for
Terminal services mode
based on SSL access.
Alias for
\fB-display\fR WAIT:cmd=FINDCREATEDISPLAY-Xvfb \fB-unixpw\fR
\fB-display\fR WAIT:cmd=FINDCREATEDISPLAY-Xvfb \fB-unixpw\fR
\fB-users\fR
\fB-users\fR unixpw= \fB-ssl\fR SAVE
unixpw= \fB-ssl\fR SAVE Also "\fB-service\fR".
.PP
.PP
\fB-svc_xdummy\fR
\fB-svc_xdummy\fR
.IP
.IP
As \fB-svc\fR except Xdummy instead of Xvfb. Implies
As \fB-svc\fR except Xdummy instead of Xvfb.
FD_XDUMMY_NOROOT=1.
.PP
.PP
\fB-svc_xvnc\fR
\fB-svc_xvnc\fR
.IP
.IP
...
@@ -961,9 +962,30 @@ As \fB-svc\fR except Xvnc instead of Xvfb.
...
@@ -961,9 +962,30 @@ As \fB-svc\fR except Xvnc instead of Xvfb.
.PP
.PP
\fB-xdmsvc\fR
\fB-xdmsvc\fR
.IP
.IP
Terminal services mode. Also "\fB-xdm_service\fR". Alias for
Display manager Terminal services mode based on SSL.
\fB-display\fR WAIT:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp \fB-unixpw\fR
Alias for \fB-display\fR WAIT:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp
\fB-users\fR unixpw= \fB-ssl\fR SAVE
\fB-unixpw\fR \fB-users\fR unixpw= \fB-ssl\fR SAVE Also "\fB-xdm_service\fR".
.IP
To create a session a user will have to first log in
to the \fB-unixpw\fR dialog and then log in again to the
XDM/GDM/KDM prompt. Subsequent re-connections will
only require the \fB-unixpw\fR password. See the discussion
under \fB-display\fR WAIT:... for more details about XDM,
etc configuration.
.PP
\fB-sshxdmsvc\fR
.IP
Display manager Terminal services mode based on SSH.
Alias for \fB-display\fR WAIT:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp
\fB-localhost.\fR
.IP
The \fB-localhost\fR option constrains connections to come
in via a SSH tunnel (which will require a login).
To create a session a user will also have to log into
the XDM GDM KDM prompt. Subsequent re-connections will
only only require the SSH login. See the discussion
under \fB-display\fR WAIT:... for more details about XDM,
etc configuration.
.PP
.PP
\fB-redirect\fR \fIport\fR
\fB-redirect\fR \fIport\fR
.IP
.IP
...
@@ -1122,15 +1144,21 @@ for the user. This is the only time x11vnc tries to
...
@@ -1122,15 +1144,21 @@ for the user. This is the only time x11vnc tries to
actually start up an X server.
actually start up an X server.
.IP
.IP
By default FINDCREATEDISPLAY will try Xdummy and then
By default FINDCREATEDISPLAY will try Xdummy and then
Xvfb. The Xdummy wrapper is part of the x11vnc source
Xvfb:
code (x11vnc/misc/Xdummy) It should be available in
.IP
PATH and have run "Xdummy \fB-install"\fR once to create
The Xdummy wrapper is part of the x11vnc source code
the shared library. Xdummy requires root permission and
(x11vnc/misc/Xdummy) It should be available in PATH and
only works on Linux. (Note: specify FD_XDUMMY_NOROOT=1
have run "Xdummy \fB-install"\fR once to create the shared
to skip a check for the root id; evidently your
library. Xdummy requires root permission and only works
on Linux. (Note: specify FD_XDUMMY_NOROOT=1 to skip
a check for the root id; evidently your
.IR sudo (1)
.IR sudo (1)
will take care of everything). Xvfb is available on
will
most platforms and does not require root.
take care of everything. The \fB-xdummy\fR and \fB-svc_xdummy\fR
options imply FD_XDUMMY_NOROOT=1).
.IP
Xvfb is available on most platforms and does not
require root.
.IP
.IP
When x11vnc exits (i.e. user disconnects) the X
When x11vnc exits (i.e. user disconnects) the X
server session stays running in the background.
server session stays running in the background.
...
@@ -1209,8 +1237,9 @@ for gdm in gdm.conf: Enable=true in section [xdmcp]
...
@@ -1209,8 +1237,9 @@ for gdm in gdm.conf: Enable=true in section [xdmcp]
for kdm in kdmrc: Enable=true in section [Xdmcp]
for kdm in kdmrc: Enable=true in section [Xdmcp]
for xdm in xdm-config: DisplayManager.requestPort: 177
for xdm in xdm-config: DisplayManager.requestPort: 177
.IP
.IP
See the shorthand options above "\fB-svc\fR" and "\fB-xdmsvc\fR"
See the shorthand options above "\fB-svc\fR", "\fB-xdmsvc\fR"
that specify the above options for some useful cases.
and "\fB-sshxdmsvc\fR" that specify the above options for
some useful cases.
.IP
.IP
If you set the env. var WAITBG=1 x11vnc will go into
If you set the env. var WAITBG=1 x11vnc will go into
the background once listening in wait mode.
the background once listening in wait mode.
...
...
This diff is collapsed.
Click to expand it.
x11vnc/x11vnc.c
View file @
54237e33
...
@@ -1026,6 +1026,8 @@ static void watch_loop(void) {
...
@@ -1026,6 +1026,8 @@ static void watch_loop(void) {
got_keyboard_calls
=
0
;
got_keyboard_calls
=
0
;
urgent_update
=
0
;
urgent_update
=
0
;
x11vnc_current
=
dnow
();
if
(
!
use_threads
)
{
if
(
!
use_threads
)
{
dtime0
(
&
tm
);
dtime0
(
&
tm
);
if
(
!
skip_pe
)
{
if
(
!
skip_pe
)
{
...
@@ -2518,6 +2520,10 @@ int main(int argc, char* argv[]) {
...
@@ -2518,6 +2520,10 @@ int main(int argc, char* argv[]) {
users_list
=
strdup
(
"unixpw="
);
users_list
=
strdup
(
"unixpw="
);
use_openssl
=
1
;
use_openssl
=
1
;
openssl_pem
=
strdup
(
"SAVE"
);
openssl_pem
=
strdup
(
"SAVE"
);
}
else
if
(
!
strcmp
(
arg
,
"-sshxdmsvc"
))
{
use_dpy
=
strdup
(
"WAIT:cmd=FINDCREATEDISPLAY-Xvfb.xdmcp"
);
allow_list
=
strdup
(
"127.0.0.1"
);
got_localhost
=
1
;
#ifndef NO_SSL_OR_UNIXPW
#ifndef NO_SSL_OR_UNIXPW
}
else
if
(
!
strcmp
(
arg
,
"-unixpw_cmd"
)
}
else
if
(
!
strcmp
(
arg
,
"-unixpw_cmd"
)
||
!
strcmp
(
arg
,
"-unixpw_cmd_unsafe"
))
{
||
!
strcmp
(
arg
,
"-unixpw_cmd_unsafe"
))
{
...
@@ -3880,7 +3886,7 @@ int main(int argc, char* argv[]) {
...
@@ -3880,7 +3886,7 @@ int main(int argc, char* argv[]) {
/* open the X display: */
/* open the X display: */
if
(
auth_file
)
{
if
(
auth_file
)
{
set_env
(
"XAUTHORITY"
,
auth_file
);
set_env
(
"XAUTHORITY"
,
auth_file
);
fprintf
(
stderr
,
"XA: %s
\n
"
,
getenv
(
"XAUTHORITY"
));
if
(
0
)
fprintf
(
stderr
,
"XA: %s
\n
"
,
getenv
(
"XAUTHORITY"
));
}
}
#if LIBVNCSERVER_HAVE_XKEYBOARD
#if LIBVNCSERVER_HAVE_XKEYBOARD
/*
/*
...
...
This diff is collapsed.
Click to expand it.
x11vnc/x11vnc.h
View file @
54237e33
...
@@ -468,6 +468,7 @@ extern double last_copyrect_fix;
...
@@ -468,6 +468,7 @@ extern double last_copyrect_fix;
extern
double
last_wireframe
;
extern
double
last_wireframe
;
extern
double
servertime_diff
;
extern
double
servertime_diff
;
extern
double
x11vnc_start
;
extern
double
x11vnc_start
;
extern
double
x11vnc_current
;
extern
double
g_now
;
extern
double
g_now
;
extern
double
last_get_wm_frame_time
;
extern
double
last_get_wm_frame_time
;
...
...
This diff is collapsed.
Click to expand it.
x11vnc/x11vnc_defs.c
View file @
54237e33
...
@@ -15,7 +15,7 @@ int xtrap_base_event_type = 0;
...
@@ -15,7 +15,7 @@ int xtrap_base_event_type = 0;
int
xdamage_base_event_type
=
0
;
int
xdamage_base_event_type
=
0
;
/* date +'lastmod: %Y-%m-%d' */
/* date +'lastmod: %Y-%m-%d' */
char
lastmod
[]
=
"0.9.3 lastmod: 2007-09-
10
"
;
char
lastmod
[]
=
"0.9.3 lastmod: 2007-09-
26
"
;
/* X display info */
/* X display info */
...
@@ -131,6 +131,7 @@ double last_copyrect_fix = 0.0;
...
@@ -131,6 +131,7 @@ double last_copyrect_fix = 0.0;
double
last_wireframe
=
0
.
0
;
double
last_wireframe
=
0
.
0
;
double
servertime_diff
=
0
.
0
;
double
servertime_diff
=
0
.
0
;
double
x11vnc_start
=
0
.
0
;
double
x11vnc_start
=
0
.
0
;
double
x11vnc_current
=
0
.
0
;
double
g_now
=
0
.
0
;
double
g_now
=
0
.
0
;
double
last_get_wm_frame_time
=
0
.
0
;
double
last_get_wm_frame_time
=
0
.
0
;
...
...
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