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