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
909683fd
Commit
909683fd
authored
Jan 08, 2010
by
runge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x11vnc: add modeline creation to Xdummy.
parent
07008dee
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
102 additions
and
32 deletions
+102
-32
README
x11vnc/README
+3
-3
Xdummy
x11vnc/misc/Xdummy
+97
-27
x11vnc.1
x11vnc/x11vnc.1
+1
-1
x11vnc_defs.c
x11vnc/x11vnc_defs.c
+1
-1
No files found.
x11vnc/README
View file @
909683fd
...
...
@@ -2,7 +2,7 @@
Copyright
(
C
)
2002
-
2010
Karl
J
.
Runge
<
runge
@
karlrunge
.
com
>
All
rights
reserved
.
x11vnc
README
file
Date
:
Sat
Jan
2
21
:
07
:
41
EST
2010
x11vnc
README
file
Date
:
Thu
Jan
7
23
:
16
:
08
EST
2010
The
following
information
is
taken
from
these
URLs
:
...
...
@@ -12954,7 +12954,7 @@ x11vnc: a VNC server for real X displays
Here are all of x11vnc command line options:
% x11vnc -opts (see below for -help long descriptions)
x11vnc: allow VNC connections to real X11 displays. 0.9.10 lastmod: 2010-01-0
2
x11vnc: allow VNC connections to real X11 displays. 0.9.10 lastmod: 2010-01-0
7
x11vnc options:
-display disp -auth file -N
...
...
@@ -13082,7 +13082,7 @@ libvncserver-tight-extension options:
% x11vnc -help
x11vnc: allow VNC connections to real X11 displays. 0.9.10 lastmod: 2010-01-0
2
x11vnc: allow VNC connections to real X11 displays. 0.9.10 lastmod: 2010-01-0
7
(type "
x11vnc
-
opts
" to just list the options.)
...
...
x11vnc/misc/Xdummy
View file @
909683fd
#!/bin/sh
#
# ----------------------------------------------------------------------
# Copyright (C) 2005-2010 Karl J. Runge <runge@karlrunge.com>
# All rights reserved.
#
# This file is part of Xdummy.
#
# Xdummy is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or (at
# your option) any later version.
#
# Xdummy is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Xdummy; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA
# or see <http://www.gnu.org/licenses/>.
# ----------------------------------------------------------------------
#
#
# Xdummy: an LD_PRELOAD hack to run a stock Xorg(1) or XFree86(1) server
# with the "dummy" video driver to make it avoid Linux VT switching, etc.
#
...
...
@@ -14,6 +36,7 @@ root=""
nosudo
=
""
xserver
=
""
geom
=
""
nomodelines
=
""
depth
=
""
debug
=
""
strace
=
""
...
...
@@ -51,13 +74,20 @@ $program:
LD_PRELOAD tricks are usually "clever hacks" and so might not work
in all situations or break when something changes.
This program does not need to be run as root as of 12/2009. However,
if there are problems for certain situations (usually older servers)
it may perform better if run as root (use the -root option.)
WARNING: Take care in using Xdummy, although it never has it is
possible that it could damage hardware. One can use the -prconf
option to have it print out the xorg.conf config that it would use
and then inspect it carefully before actually using it.
This program no longer needs to be run as root as of 12/2009.
However, if there are problems for certain situations (usually older
servers) it may perform better if run as root (use the -root option.)
When running as root remember the previous paragraph and that Xdummy
comes without any warranty.
Also, gcc/cc and other build tools are required for this script to
be able to compile the LD_PRELOAD shared object. Be sure they are
installed
on the system. See -install and -uninstall described below.
gcc/cc and other build tools are required for this script to be able
to compile the LD_PRELOAD shared object. Be sure they are installed
on the system. See -install and -uninstall described below.
Your Linux distribution may not install the dummy driver by default,
e.g:
...
...
@@ -190,15 +220,20 @@ Options:
argument. It is passed to the real X server and
also used by the Xdummy script as an identifier.
-geom geom1[,geom2...]
Take the geometry (e.g. 1024x768) or
list of geometries and insert them into the
Screen section of the tweaked X server
config file. Use this to have a smaller geometry
than the one
in the system config file.
-geom geom1[,geom2...]
Take the geometry (e.g. 1024x768) or list
of geometries and insert them into the Screen
section of the tweaked X server config file.
Use this to have a different geometry than the
one(s)
in the system config file.
The option -geometry can be used instead of -geom;
x11vnc calls Xdummy and Xvfb this way.
-nomodelines When you specify -geom/-geometry,
$program
will
create Modelines for each geometry and put them
in the Monitor section. If you do not want this
then supply -nomodelines.
-depth n Use pixel color depth n (e.g. 8, 16, or 24). This
makes sure the X config file has a Screen.Display
subsection of this depth. Note this option is
...
...
@@ -274,6 +309,8 @@ Options:
that are not consistent with "dummy" mode will be overwritten
(unless -notweak is specified.)
Use -config xdummy-builtin to force usage of the builtin config.
If "file" is only a basename (e.g. "xorg.dummy.conf") with no /'s,
then no tweaking of it is done: the X server will look for that
basename via its normal search algorithm. If the found file does
...
...
@@ -439,6 +476,8 @@ do
;;
"-geometry"
)
geom
=
"
$2
"
;
shift
;;
"-nomodelines"
)
nomodelines
=
1
;;
"-depth"
)
depth
=
"
$2
"
;
args
=
"
$args
-depth
$2
"
;
shift
;;
...
...
@@ -513,18 +552,18 @@ make_so() {
tail
-n
+
$n1
$0
|
head
-n
$dn
>
$tmp
# compile it to Xdummy.so:
if
[
-f
$SO
]
;
then
if
[
-f
"
$SO
"
]
;
then
mv
$SO
$SO
.
$$
rm
-f
$SO
.
$$
fi
rm
-f
$SO
touch
$SO
if
[
!
-f
$SO
]
;
then
if
[
!
-f
"
$SO
"
]
;
then
SO
=
$tdir
/Xdummy.
$user
.so
warn
"warning switching LD_PRELOAD shared object to:
$SO
"
fi
if
[
-f
$SO
]
;
then
if
[
-f
"
$SO
"
]
;
then
mv
$SO
$SO
.
$$
rm
-f
$SO
.
$$
fi
...
...
@@ -559,21 +598,21 @@ fi
# Handle -install/-uninstall case:
SO
=
$0
.so
if
[
"X
$install
"
!=
"X"
-o
"X
$uninstall
"
!=
"X"
]
;
then
if
[
-e
$SO
-o
-h
$SO
]
;
then
if
[
-e
"
$SO
"
-o
-h
"
$SO
"
]
;
then
warn
"
$program
: removing
$SO
"
fi
if
[
-f
$SO
]
;
then
if
[
-f
"
$SO
"
]
;
then
mv
$SO
$SO
.
$$
rm
-f
$SO
.
$$
fi
rm
-f
$SO
if
[
-e
$SO
-o
-h
$SO
]
;
then
if
[
-e
"
$SO
"
-o
-h
"
$SO
"
]
;
then
warn
"warning:
$SO
still exists."
exit
1
fi
if
[
$install
]
;
then
make_so
if
[
!
-f
$SO
]
;
then
if
[
!
-f
"
$SO
"
]
;
then
exit
1
fi
fi
...
...
@@ -628,7 +667,7 @@ fi
#
tfile
=
"
$XDUMMY_TMPDIR
/test.file"
touch
$tfile
if
[
!
-f
$tfile
]
;
then
if
[
!
-f
"
$tfile
"
]
;
then
XDUMMY_TMPDIR
=
"/tmp/Xdummy.
$$
.
$USER
"
warn
"warning: setting tmpdir to
$XDUMMY_TMPDIR
..."
rm
-rf
$XDUMMY_TMPDIR
||
exit
1
...
...
@@ -640,7 +679,7 @@ export XDUMMY_TMPDIR
# Compile the LD_PRELOAD shared object if needed (needs XDUMMY_TMPDIR)
#
if
[
!
-f
$SO
]
;
then
if
[
!
-f
"
$SO
"
]
;
then
SO
=
"
$XDUMMY_TMPDIR
/Xdummy.so"
make_so
fi
...
...
@@ -835,10 +874,13 @@ tweak_config() {
#
env
XDUMMY_GEOM
=
$geom
\
XDUMMY_DEPTH
=
$depth
\
XDUMMY_NOMODELINES
=
$nomodelines
\
perl
>
$config2
<
$in
-e
'
$n = 0;
$geom = $ENV{XDUMMY_GEOM};
$depth = $ENV{XDUMMY_DEPTH};
$nomodelines = $ENV{XDUMMY_NOMODELINES};
$mode_str = "";
$videoram = "24000";
$HorizSync = "30.0 - 130.0";
$VertRefresh = "50.0 - 250.0";
...
...
@@ -846,6 +888,22 @@ tweak_config() {
my $tmp = "";
foreach $g (split(/,/, $geom)) {
$tmp .= "\"$g\" ";
if (!$nomodelines && $g =~ /(\d+)x(\d+)/) {
my $w = $1;
my $h = $2;
$mode_str .= " Modeline \"$g\" ";
my $dot = sprintf("%.2f", $w * $h * 70 * 1.e-6);
$mode_str .= $dot;
$mode_str .= " " . $w;
$mode_str .= " " . int(1.02 * $w);
$mode_str .= " " . int(1.10 * $w);
$mode_str .= " " . int(1.20 * $w);
$mode_str .= " " . $h;
$mode_str .= " " . int($h + 1);
$mode_str .= " " . int($h + 3);
$mode_str .= " " . int($h + 20);
$mode_str .= "\n";
}
}
$tmp =~ s/\s*$//;
$geom = $tmp;
...
...
@@ -912,6 +970,10 @@ tweak_config() {
print " ##Xdummy:##\n";
print " VertRefresh $VertRefresh\n";
}
if (!$nomodelines) {
print " ##Xdummy:##\n";
print $mode_str;
}
}
$sect = "";
print;
...
...
@@ -925,7 +987,7 @@ tweak_config() {
$subsect =~ y/A-Z/a-z/;
$subsects{$subsect} = 1;
if ($sect eq "screen" && $subsect eq "display") {
$got_Mode = 0;
$got_Mode
s
= 0;
}
print;
next;
...
...
@@ -938,7 +1000,7 @@ tweak_config() {
print " ##Xdummy:##\n";
print " Depth\t$depth\n";
}
if ($geom ne "" && ! $got_Mode) {
if ($geom ne "" && ! $got_Mode
s
) {
print " ##Xdummy:##\n";
print " Modes\t$geom\n";
}
...
...
@@ -1073,7 +1135,9 @@ tweak_config() {
print " SubSection \"Display\"\n";
print " Viewport 0 0\n";
print " Depth 24\n";
if ($geom ne "") {
if ($got_Modes) {
;
} elsif ($geom ne "") {
print " Modes $geom\n";
} else {
print " Modes \"1280x1024\" \"1024x768\" \"800x600\"\n";
...
...
@@ -1088,6 +1152,8 @@ tweak_config() {
#
if
[
"X
$cmdline_config
"
=
"X"
]
;
then
:
elif
[
"X
$cmdline_config
"
=
"Xxdummy-builtin"
]
;
then
:
elif
echo
"
$cmdline_config
"
|
grep
'/'
>
/dev/null
;
then
:
else
...
...
@@ -1119,7 +1185,7 @@ if [ ! $notweak ]; then
config
=
"/etc/X11/XF86Config"
fi
fi
if
[
!
-f
$config
]
;
then
if
[
!
-f
"
$config
"
]
;
then
for
c
in
/etc/X11/xorg.conf /etc/X11/XF86Config-4 /etc/X11/XF86Config
do
if
[
-f
$c
]
;
then
...
...
@@ -1130,7 +1196,11 @@ if [ ! $notweak ]; then
fi
fi
if
[
!
-f
$config
]
;
then
if
[
"X
$config
"
=
"Xxdummy-builtin"
]
;
then
config
=
""
fi
if
[
!
-f
"
$config
"
]
;
then
config
=
"
$XDUMMY_TMPDIR
/xorg.conf"
warn
"
$program
: using minimal built-in xorg.conf settings."
cat
>
$config
<<
END
...
...
@@ -1195,7 +1265,7 @@ EndSection
END
fi
if
[
-f
$config
]
;
then
if
[
-f
"
$config
"
]
;
then
tweak_config
$config
fi
...
...
x11vnc/x11vnc.1
View file @
909683fd
...
...
@@ -2,7 +2,7 @@
.TH X11VNC "1" "January 2010" "x11vnc " "User Commands"
.SH NAME
x11vnc - allow VNC connections to real X11 displays
version: 0.9.10, lastmod: 2010-01-0
2
version: 0.9.10, lastmod: 2010-01-0
7
.SH SYNOPSIS
.B x11vnc
[OPTION]...
...
...
x11vnc/x11vnc_defs.c
View file @
909683fd
...
...
@@ -47,7 +47,7 @@ int xtrap_base_event_type = 0;
int
xdamage_base_event_type
=
0
;
/* date +'lastmod: %Y-%m-%d' */
char
lastmod
[]
=
"0.9.10 lastmod: 2010-01-0
2
"
;
char
lastmod
[]
=
"0.9.10 lastmod: 2010-01-0
7
"
;
/* X display info */
...
...
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