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
b2323a90
Commit
b2323a90
authored
19 years ago
by
runge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x11vnc: long info and tips when XOpenDisplay fails, reinstate "bad desktop" for wireframe
parent
7b933e17
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
118 additions
and
20 deletions
+118
-20
ChangeLog
x11vnc/ChangeLog
+4
-0
README
x11vnc/README
+22
-15
x11vnc.1
x11vnc/x11vnc.1
+1
-1
x11vnc.c
x11vnc/x11vnc.c
+91
-4
No files found.
x11vnc/ChangeLog
View file @
b2323a90
2005-06-21 Karl Runge <runge@karlrunge.com>
* reinstate "bad desktop" for wireframe.
* extra long info and tips of XOpenDisplay fails.
2005-06-18 Karl Runge <runge@karlrunge.com>
* clean up some malloc/free problems (don't free the current cursor)
* set DISPLAY before calling gconf, dcop under -solid
...
...
This diff is collapsed.
Click to expand it.
x11vnc/README
View file @
b2323a90
x11vnc
README
file
Date
:
Sat
Jun
18
12
:
32
:
19
EDT
2005
x11vnc
README
file
Date
:
Tue
Jun
21
09
:
58
:
37
EDT
2005
The
following
information
is
taken
from
these
URLs
:
...
...
@@ -207,8 +207,8 @@ x11vnc: a VNC server for real X displays
However
,
if
you
"know"
port
5900
will
be
free
on
the
local
and
remote
machines
,
you
can
easily
automate
the
above
two
steps
by
using
the
x11vnc
option
[
26
]-
bg
(
forks
into
background
after
connection
to
the
display
is
set
up
)
or
using
the
-
f
option
of
ssh
.
Three
example
scripts
are
shown
below
.
display
is
set
up
)
or
using
the
-
f
option
of
ssh
.
Some
example
scripts
are
shown
below
.
_________________________________________________________________
#
1.
A
simple
example
script
,
assuming
no
problems
with
port
5900
being
...
...
@@ -301,7 +301,7 @@ vncviewer -via $host localhost:0 # must be TightVNC vncviewer.
Chaining
ssh
's: Note that for use of a ssh gateway and -L redirection
to a internal host (e.g. "-L 5900:otherhost:5900") the VNC traffic
to a
n
internal host (e.g. "-L 5900:otherhost:5900") the VNC traffic
inside the firewall is not encrypted and you have to manually log into
otherhost to start x11vnc. Kyle Amon shows a method where you chain
two ssh'
s
together
that
encrypts
all
network
traffic
and
also
...
...
@@ -578,7 +578,7 @@ make
I'
d
like
to
release
version
0.7.2
in
Jun
/
2005
sometime
,
here
is
the
current
tarball
:
RC
-
3
lastmod
:
2005
-
06
-
18
[
51
]
x11vnc
-
0.7.2
beta
.
tar
.
gz
RC
-
3
lastmod
:
2005
-
06
-
20
[
51
]
x11vnc
-
0.7.2
beta
.
tar
.
gz
There
are
also
some
Linux
and
Solaris
test
binaries
[
52
]
here
.
Please
kick
the
tires
and
report
bugs
,
performance
regressions
,
undesired
...
...
@@ -1134,6 +1134,7 @@ make
your DISPLAY environment variable or use the [156]-display option to
specify it. Nearly always the correct value will be ":0"
For the latter error, you need to set up the X11 permissions
correctly.
...
...
@@ -1148,13 +1149,19 @@ make
How to Solve: See the xauth(1), Xsecurity(7), and xhost(1) man pages
for much info on X11 permissions. For example, you may need to set
your XAUTHORITY environment variable or use the [157]-auth option to
point to the correct cookie file (e.g. /home/joe/.Xauthority or
/var/gdm/:0.Xauth), or simply be sure you run x11vnc as the correct
user (i.e. the user who owns the X session you wish to view). If sshd
has set XAUTHORITY to point to a random file it has created for X
forwarding that will cause problems. Running x11vnc as root is not
enough: you need to know where the XAUTHORITY file for the desired X
display is. Example:
point to the correct MIT-MAGIC-COOKIE file (e.g. /home/joe/.Xauthority
or /var/gdm/:0.Xauth), or simply be sure you run x11vnc as the correct
user (i.e. the user who owns the X session you wish to view).
The cookie file contains the secret key that allows x11vnc to connect
to the desired X display.
If, say, sshd has set XAUTHORITY to point to a random file it has
created for X forwarding that will cause problems. (Under some
circumstances even su(1) and telnet(1) can set XAUTHORITY.) Running
x11vnc as root is often not enough: you need to know where the
MIT-MAGIC-COOKIE file for the desired X display is. Example
solution:
x11vnc -display :0 -auth /var/gdm/:0.Xauth
(this is for the display manager gdm, see [158]this faq for other
...
...
@@ -4419,7 +4426,7 @@ References
314.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
#
opt
-
wireframe
315.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
#
opt
-
wireframe
316.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
#
opt
-
wireframe
317.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
fb_read_slow
317.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
index
.
html
#
fb_read_slow
318.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
#
opt
-
scrollcopyrect
319.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
#
opt
-
wireframe
320.
http
://
www
.
karlrunge
.
com
/
x11vnc
/
x11vnc_opts
.
html
#
opt
-
wirecopyrect
...
...
@@ -4508,7 +4515,7 @@ x11vnc: a VNC server for real X displays
Here
are
all
of
x11vnc
command
line
options
:
%
x11vnc
-
opts
(
see
below
for
-
help
long
descriptions
)
x11vnc
:
allow
VNC
connections
to
real
X11
displays
.
0.7.2
lastmod
:
2005
-
06
-
18
x11vnc
:
allow
VNC
connections
to
real
X11
displays
.
0.7.2
lastmod
:
2005
-
06
-
21
x11vnc
options
:
-
display
disp
-
auth
file
...
...
@@ -4607,7 +4614,7 @@ libvncserver options:
% x11vnc -help
x11vnc: allow VNC connections to real X11 displays. 0.7.2 lastmod: 2005-06-
18
x11vnc: allow VNC connections to real X11 displays. 0.7.2 lastmod: 2005-06-
21
Typical usage is:
...
...
This diff is collapsed.
Click to expand it.
x11vnc/x11vnc.1
View file @
b2323a90
...
...
@@ -2,7 +2,7 @@
.TH X11VNC "1" "June 2005" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.7.2, lastmod: 2005-06-
18
version: 0.7.2, lastmod: 2005-06-
21
.SH SYNOPSIS
.B x11vnc
[OPTION]...
...
...
This diff is collapsed.
Click to expand it.
x11vnc/x11vnc.c
View file @
b2323a90
...
...
@@ -382,7 +382,7 @@ double xdamage_scheduled_mark = 0.0;
sraRegionPtr xdamage_scheduled_mark_region = NULL;
/* date +'lastmod: %Y-%m-%d' */
char lastmod[] = "0.7.2 lastmod: 2005-06-
18
";
char lastmod[] = "0.7.2 lastmod: 2005-06-
21
";
int hack_val = 0;
/* X display info */
...
...
@@ -25850,7 +25850,7 @@ int try_copyrect(Window frame, int x, int y, int w, int h, int dx, int dy,
dt_bad_check = time(0);
}
if (
0 && dt_bad
) {
if (
dt_bad && wireframe_in_progress
) {
sraRegionPtr rect;
/* send the whole thing... */
x1 = crfix(nfix(x, dpy_x), dx, dpy_x);
...
...
@@ -27921,7 +27921,13 @@ void check_cursor_changes(void) {
if (cursor_changes) {
double tm, max_push = 0.125, multi_push = 0.01, wait = 0.02;
int cursor_shape, dopush = 0, link, latency, netrate;
cursor_shape = cursor_shape_updates_clients(screen);
if (! all_clients_initialized()) {
/* play it safe */
return;
}
if (0) cursor_shape = cursor_shape_updates_clients(screen);
dtime0(&tm);
link = link_rate(&latency, &netrate);
...
...
@@ -30512,6 +30518,78 @@ void immediate_switch_user(int argc, char* argv[]) {
}
}
void xopen_display_fail_message(char *disp) {
fprintf(stderr, "\n");
fprintf(stderr, "*** x11vnc was unable to open the X DISPLAY: \"%s\","
" it cannot continue.\n", disp);
fprintf(stderr, "*** There may be \"Xlib:\" error messages above"
" with details about the failure.\n");
fprintf(stderr, "\n");
fprintf(stderr, "Some tips and guidelines:\n");
fprintf(stderr, "\n");
fprintf(stderr, " * An X server (the one you wish to view) must"
" be running before x11vnc is\n");
fprintf(stderr, " started: x11vnc does not start the X server.\n");
fprintf(stderr, "\n");
fprintf(stderr, " * You must use -display <disp>, -OR- set and"
" export your DISPLAY\n");
fprintf(stderr, " environment variable to refer to the display of"
" the desired X server.\n");
fprintf(stderr, " - Usually the display is simply \":0\" (in fact"
" x11vnc uses this if you forget\n");
fprintf(stderr, " to specify it), but in some multi-user"
" situations it could be \":1\", \":2\",\n");
fprintf(stderr, " or even \":137\". Ask your administrator"
" or a guru if you are having\n");
fprintf(stderr, " difficulty determining what your X DISPLAY is.\n");
fprintf(stderr, "\n");
fprintf(stderr, " * Next, you need to have sufficient permissions"
" (Xauthority) \n");
fprintf(stderr, " to connect to the X DISPLAY. Here are some"
" Tips:\n");
fprintf(stderr, "\n");
fprintf(stderr, " - Often, you just need to run x11vnc as the user"
" logged into the X session.\n");
fprintf(stderr, " So make sure to be that user when you type"
" x11vnc.\n");
fprintf(stderr, " - Being root is usually not enough because the"
" incorrect MIT-MAGIC-COOKIE\n");
fprintf(stderr, " file will be accessed. The cookie file contains"
" the secret key that\n");
fprintf(stderr, " allows x11vnc to connect to the desired"
" X DISPLAY.\n");
fprintf(stderr, " - You can explicity indicate which MIT-MAGIC-COOKIE"
" file should be used\n");
fprintf(stderr, " by the -auth option, e.g.:\n");
fprintf(stderr, " x11vnc -auth /home/someuser/.Xauthority"
" -display :0\n");
fprintf(stderr, " you must have read permission for that file.\n");
fprintf(stderr, "\n");
fprintf(stderr, " - If NO ONE is logged into an X session yet, but"
" there is a greeter login\n");
fprintf(stderr, " program like \"gdm\", \"kdm\", \"xdm\", or"
" \"dtlogin\" running, you will need\n");
fprintf(stderr, " to find and use the raw display manager"
" MIT-MAGIC-COOKIE file.\n");
fprintf(stderr, " Some examples for various display managers:\n");
fprintf(stderr, "\n");
fprintf(stderr, " gdm: -auth /var/gdm/:0.Xauth\n");
fprintf(stderr, " kdm: -auth /var/lib/kdm/A:0-crWk72\n");
fprintf(stderr, " xdm: -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk\n");
fprintf(stderr, " dtlogin: -auth /var/dt/A:0-UgaaXa\n");
fprintf(stderr, "\n");
fprintf(stderr, " Only root will have read permission for the"
" file, and so x11vnc must be run\n");
fprintf(stderr, " as root. The random characters in the filenames"
" will of course change,\n");
fprintf(stderr, " and the directory the cookie file resides in may"
" also be system dependent.\n");
fprintf(stderr, " Sometimes the command \"ps wwaux | grep auth\""
" can reveal the file location.\n");
fprintf(stderr, "\n");
fprintf(stderr, "See also: http://www.karlrunge.com/x11vnc/#faq\n");
}
int main(int argc, char* argv[]) {
int i, len, tmpi;
...
...
@@ -31654,6 +31732,7 @@ int main(int argc, char* argv[]) {
if (! dpy && ! use_dpy && ! getenv("DISPLAY")) {
int i, s = 4;
rfbLogEnable(1);
rfbLog("\a\n");
rfbLog("*** XOpenDisplay failed. No -display or DISPLAY.\n");
rfbLog("*** Trying \":0\" in %d seconds. Press Ctrl-C to"
...
...
@@ -31670,10 +31749,18 @@ int main(int argc, char* argv[]) {
rfbLog("*** XOpenDisplay of \":0\" successful.\n");
}
rfbLog("\n");
if (quiet) rfbLogEnable(0);
}
if (! dpy) {
rfbLog("XOpenDisplay failed (%s)\n", use_dpy ? use_dpy:"null");
char *d = use_dpy;
if (!d) d = getenv("DISPLAY");
if (!d) d = "null";
rfbLogEnable(1);
fprintf(stderr, "\n");
rfbLog("***************************************\n", d);
rfbLog("*** XOpenDisplay failed (%s)\n", d);
xopen_display_fail_message(d);
exit(1);
} else if (use_dpy) {
if (! quiet) rfbLog("Using X display %s\n", use_dpy);
...
...
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