blob: 76c01a40e52bd5e18d83d4814847986b4ac1e1ea [file] [log] [blame]
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +00001
Peter Åstrand9fb4e0e2004-12-30 10:03:00 +00002TightVNC Source Distribution for Unix platforms
3===============================================
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +00004
5Copyright (C) 2002-2004 RealVNC Ltd. All Rights Reserved.
Peter Åstrand9fb4e0e2004-12-30 10:03:00 +00006Copyright (C) 2000-2004 Constantin Kaplinsky.
Peter Åstrande2ab84e2005-02-05 16:33:44 +00007Copyright (C) 2004-2005 Peter Astrand, Cendio AB
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +00008
Peter Åstrand9fb4e0e2004-12-30 10:03:00 +00009This software is distributed under the GNU General Public Licence as
10published by the Free Software Foundation. See the file LICENCE.TXT
11for the conditions under which this software is made available.
12TightVNC also contains code from other sources. See the
13Acknowledgements section below, and the individual files for details
14of the conditions under which they are made available.
Constantin Kaplinsky47ed8d32004-10-08 09:43:57 +000015
16
17There are six programs here:
18
19 vncviewer - this is the VNC viewer, or client, program for X.
20
21 Xvnc - this is the X VNC server - it is both a VNC server and an X server
22 with a "virtual" framebuffer. You normally use the vncserver script
23 to start Xvnc.
24
25 vncserver - this is a wrapper script which makes starting an X VNC server
26 (i.e. desktop) more convenient. It is written in Perl, so to use
27 the script you need that.
28
29 vncpasswd - this program allows you to change the password used to access
30 your X VNC desktops. The vncserver script uses this program when
31 you first start a VNC server.
32
33 vncconfig - this program is used to configure and control a running instance
34 of Xvnc.
35
36 x0vncserver - this is an inefficient VNC server which continuously polls any
37 X display, allowing it to be controlled via VNC. It is
38 intended mainly as a demonstration of a simple VNC server.
39
40In addition to these standalone programs, this distribution can also be used to
41turn the native X server for a platform into a VNC server. For XFree86 version
424 servers, this is done using a module loaded at run-time. For other X servers
43it requires replacing the native X server binary.
44
45To build this distribution you need a C++ compiler as well as a C compiler.
46You also need a reasonably recent version of the X window system installed.
47This comes as standard with most unix machines. If you don't have it
48installed, see http://www.xfree86.org or http://www.x.org
49
50To build everything but Xvnc, do:
51
52 % ./configure
53 % make
54
55This should build first some libraries - zlib, rdr, network, Xregion, rfb and
56tx - then vncviewer, vncconfig and vncpasswd. If you already have zlib
57installed on your system you can run "./configure --with-installed-zlib" if you
58prefer (this is strongly advised on FreeBSD, since we've been told there are
59problems otherwise).
60
61Building Xvnc
62=============
63
64Building Xvnc and the VNC support for native X servers is much more complex.
65If you don't need to build it, skip to the section below on installing.
66
67Xvnc differs from the other programs in that it is built inside the X source
68tree. Unlike previous versions of Xvnc, we do not provide an X source tree
69with this distribution. We have designed the distribution to be as independent
70as possible of the X tree used.
71
72We have successfully used XFree86 version 4.3.0, 4.2.0 and 3.3.6 (available
73from http://www.xfree86.org). You could also try the original X.org tree
74available from http://www.x.org but this does not build as easily because of
75lack of support for C++, no support for building server only, and other issues.
76Note that the X tree is enormous and notoriously difficult to deal with -
77building it is not for the faint-hearted!
78
79Once you have a copy of the X source tree, make sure it is unpacked at the top
80level of this distribution, so that the xc directory of the X source tree
81matches the xc of this distribution, for example:
82
83 % tar xzf X420src-1.tgz
84
85Then you must apply a patch to some files in the X source tree:
86
87 % patch -Np0 <xc.patch
88
89If this works, you should be able to build the entire X tree, including Xvnc:
90
91 % cd xc
92 % make World
93
94This will take a long time, and will quite probably fail for one reason or
95another! If you are having trouble, we suggest you try to build the X tree in
96isolation first before attempting it with the VNC additions.
97
98If successful, in the xc/programs/Xserver directory you should find an Xvnc
99binary, plus the native X server binary(ies) for your platform with VNC support
100compiled in. If you are building from an XFree86 version 4 tree on a supported
101platform, you should also find a vnc.so module in
102xc/programs/Xserver/vnc/modules.
103
104Exactly which X extensions and features are built into Xvnc and the native X
105server binary is determined by the settings in xc/config/cf. The file vnc.def
106contains the settings we use to build our binary distributions. You may need
107to edit this and the other files as appropriate.
108
109Installing
110==========
111
112Different unix platforms have different conventions for where software should
113be installed. To copy the programs to some directory which is in your PATH
114environment variable, such as /usr/local/bin, there is a script called
115vncinstall which you can use:
116
117 % cd ..
118 % ./vncinstall /usr/local/bin
119
120This will also attempt to install the manual pages in an appropriate directory.
121You can specify an alternative directory as a second argument to vncinstall:
122
123 % ./vncinstall /usr/local/bin /usr/local/man
124
125It will also try to install the vnc.so XFree86 version 4 module if appropriate.
126This will be copied to the /usr/X11R6/lib/modules/extensions directory and can
127be enabled like any other module by adding a Load "vnc" line to the Module
128section of XF86Config. The parameters listed in the Xvnc manual page can be
129set as options in XF86Config e.g. Option "passwordFile" "/root/.vnc/passwd".
130Note that for some reason options cannot be set in the Module section of
131XF86Config - try the Screen section.
132
133If you want to use the Java VNC viewer, you should copy the files from
134the java directory to some suitable installation directory such as
135/usr/local/vnc/classes:
136
137 % mkdir -p /usr/local/vnc/classes
138 % cp java/* /usr/local/vnc/classes
139
140We recommend that you use the vncserver script to run Xvnc for you. You can
141edit the script as appropriate for your site. Things you may need to change
142include:
143
144 * The location of Perl - if Perl is not installed in /usr/bin you'll need
145 to edit the "#!/usr/bin/perl" first line of vncserver.
146
147 * Xvnc's font path and color database. If you have an installation of
148 X which is not in the standard place you may need to add arguments to the
149 Xvnc command line to set these. These should be appended to the $cmd
150 variable at the comment "# Add font path and color database...".
151
152 * $vncJavaFiles - this specifies the location of the files for
153 the VNC viewer Java applet. The default is /usr/local/vnc/classes.
154
155
156ACKNOWLEDGEMENTS
157================
158
159This distribution contains public domain DES software by Richard Outerbridge.
160This is:
161
162 Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge.
163 (GEnie : OUTER; CIS : [71755,204]) Graven Imagery, 1992.
164
165
166This distribution contains software from the X Window System. This is:
167
168 Copyright 1987, 1988, 1998 The Open Group
169
170 Permission to use, copy, modify, distribute, and sell this software and its
171 documentation for any purpose is hereby granted without fee, provided that
172 the above copyright notice appear in all copies and that both that
173 copyright notice and this permission notice appear in supporting
174 documentation.
175
176 The above copyright notice and this permission notice shall be included in
177 all copies or substantial portions of the Software.
178
179 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
180 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
181 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
182 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
183 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
184 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
185
186 Except as contained in this notice, the name of The Open Group shall not be
187 used in advertising or otherwise to promote the sale, use or other dealings
188 in this Software without prior written authorization from The Open Group.
189
190
191 Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
192
193 All Rights Reserved
194
195 Permission to use, copy, modify, and distribute this software and its
196 documentation for any purpose and without fee is hereby granted,
197 provided that the above copyright notice appear in all copies and that
198 both that copyright notice and this permission notice appear in
199 supporting documentation, and that the name of Digital not be
200 used in advertising or publicity pertaining to distribution of the
201 software without specific, written prior permission.
202
203 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
204 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
205 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
206 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
207 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
208 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
209 SOFTWARE.
210
211
212This distribution contains zlib compression software. This is:
213
214 Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler
215
216 This software is provided 'as-is', without any express or implied
217 warranty. In no event will the authors be held liable for any damages
218 arising from the use of this software.
219
220 Permission is granted to anyone to use this software for any purpose,
221 including commercial applications, and to alter it and redistribute it
222 freely, subject to the following restrictions:
223
224 1. The origin of this software must not be misrepresented; you must not
225 claim that you wrote the original software. If you use this software
226 in a product, an acknowledgment in the product documentation would be
227 appreciated but is not required.
228 2. Altered source versions must be plainly marked as such, and must not be
229 misrepresented as being the original software.
230 3. This notice may not be removed or altered from any source distribution.
231
232 Jean-loup Gailly Mark Adler
233 jloup@gzip.org madler@alumni.caltech.edu
234
235
236This distribution contains Java DES software by Dave Zimmerman
237<dzimm@widget.com> and Jef Poskanzer <jef@acme.com>. This is:
238
239 Copyright (c) 1996 Widget Workshop, Inc. All Rights Reserved.
240
241 Permission to use, copy, modify, and distribute this software and its
242 documentation for NON-COMMERCIAL or COMMERCIAL purposes and without fee
243 is hereby granted, provided that this copyright notice is kept intact.
244
245 WIDGET WORKSHOP MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE
246 SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT
247 NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
248 PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WIDGET WORKSHOP SHALL NOT BE
249 LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING,
250 MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
251
252 THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE
253 CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE
254 PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT
255 NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE
256 SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE
257 SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE
258 PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). WIDGET
259 WORKSHOP SPECIFICALLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF
260 FITNESS FOR HIGH RISK ACTIVITIES.
261
262 Copyright (C) 1996 by Jef Poskanzer <jef@acme.com>. All rights
263 reserved.
264
265 Redistribution and use in source and binary forms, with or without
266 modification, are permitted provided that the following conditions
267 are met:
268 1. Redistributions of source code must retain the above copyright
269 notice, this list of conditions and the following disclaimer.
270 2. Redistributions in binary form must reproduce the above copyright
271 notice, this list of conditions and the following disclaimer in the
272 documentation and/or other materials provided with the distribution.
273
274 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
275 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
276 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
277 PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
278 BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
279 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
280 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
281 BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
282 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
283 OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
284 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
285
286 Visit the ACME Labs Java page for up-to-date versions of this and other
287 fine Java utilities: http://www.acme.com/java/