Constantin Kaplinsky | 47ed8d3 | 2004-10-08 09:43:57 +0000 | [diff] [blame] | 1 | |
Peter Åstrand | 9fb4e0e | 2004-12-30 10:03:00 +0000 | [diff] [blame^] | 2 | TightVNC Source Distribution for Unix platforms |
| 3 | =============================================== |
Constantin Kaplinsky | 47ed8d3 | 2004-10-08 09:43:57 +0000 | [diff] [blame] | 4 | |
| 5 | Copyright (C) 2002-2004 RealVNC Ltd. All Rights Reserved. |
Peter Åstrand | 9fb4e0e | 2004-12-30 10:03:00 +0000 | [diff] [blame^] | 6 | Copyright (C) 2000-2004 Constantin Kaplinsky. |
| 7 | Copyright (C) 2004 Peter Astrand, Cendio AB |
Constantin Kaplinsky | 47ed8d3 | 2004-10-08 09:43:57 +0000 | [diff] [blame] | 8 | |
Peter Åstrand | 9fb4e0e | 2004-12-30 10:03:00 +0000 | [diff] [blame^] | 9 | This software is distributed under the GNU General Public Licence as |
| 10 | published by the Free Software Foundation. See the file LICENCE.TXT |
| 11 | for the conditions under which this software is made available. |
| 12 | TightVNC also contains code from other sources. See the |
| 13 | Acknowledgements section below, and the individual files for details |
| 14 | of the conditions under which they are made available. |
Constantin Kaplinsky | 47ed8d3 | 2004-10-08 09:43:57 +0000 | [diff] [blame] | 15 | |
| 16 | |
| 17 | There 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 | |
| 40 | In addition to these standalone programs, this distribution can also be used to |
| 41 | turn the native X server for a platform into a VNC server. For XFree86 version |
| 42 | 4 servers, this is done using a module loaded at run-time. For other X servers |
| 43 | it requires replacing the native X server binary. |
| 44 | |
| 45 | To build this distribution you need a C++ compiler as well as a C compiler. |
| 46 | You also need a reasonably recent version of the X window system installed. |
| 47 | This comes as standard with most unix machines. If you don't have it |
| 48 | installed, see http://www.xfree86.org or http://www.x.org |
| 49 | |
| 50 | To build everything but Xvnc, do: |
| 51 | |
| 52 | % ./configure |
| 53 | % make |
| 54 | |
| 55 | This should build first some libraries - zlib, rdr, network, Xregion, rfb and |
| 56 | tx - then vncviewer, vncconfig and vncpasswd. If you already have zlib |
| 57 | installed on your system you can run "./configure --with-installed-zlib" if you |
| 58 | prefer (this is strongly advised on FreeBSD, since we've been told there are |
| 59 | problems otherwise). |
| 60 | |
| 61 | Building Xvnc |
| 62 | ============= |
| 63 | |
| 64 | Building Xvnc and the VNC support for native X servers is much more complex. |
| 65 | If you don't need to build it, skip to the section below on installing. |
| 66 | |
| 67 | Xvnc differs from the other programs in that it is built inside the X source |
| 68 | tree. Unlike previous versions of Xvnc, we do not provide an X source tree |
| 69 | with this distribution. We have designed the distribution to be as independent |
| 70 | as possible of the X tree used. |
| 71 | |
| 72 | We have successfully used XFree86 version 4.3.0, 4.2.0 and 3.3.6 (available |
| 73 | from http://www.xfree86.org). You could also try the original X.org tree |
| 74 | available from http://www.x.org but this does not build as easily because of |
| 75 | lack of support for C++, no support for building server only, and other issues. |
| 76 | Note that the X tree is enormous and notoriously difficult to deal with - |
| 77 | building it is not for the faint-hearted! |
| 78 | |
| 79 | Once you have a copy of the X source tree, make sure it is unpacked at the top |
| 80 | level of this distribution, so that the xc directory of the X source tree |
| 81 | matches the xc of this distribution, for example: |
| 82 | |
| 83 | % tar xzf X420src-1.tgz |
| 84 | |
| 85 | Then you must apply a patch to some files in the X source tree: |
| 86 | |
| 87 | % patch -Np0 <xc.patch |
| 88 | |
| 89 | If this works, you should be able to build the entire X tree, including Xvnc: |
| 90 | |
| 91 | % cd xc |
| 92 | % make World |
| 93 | |
| 94 | This will take a long time, and will quite probably fail for one reason or |
| 95 | another! If you are having trouble, we suggest you try to build the X tree in |
| 96 | isolation first before attempting it with the VNC additions. |
| 97 | |
| 98 | If successful, in the xc/programs/Xserver directory you should find an Xvnc |
| 99 | binary, plus the native X server binary(ies) for your platform with VNC support |
| 100 | compiled in. If you are building from an XFree86 version 4 tree on a supported |
| 101 | platform, you should also find a vnc.so module in |
| 102 | xc/programs/Xserver/vnc/modules. |
| 103 | |
| 104 | Exactly which X extensions and features are built into Xvnc and the native X |
| 105 | server binary is determined by the settings in xc/config/cf. The file vnc.def |
| 106 | contains the settings we use to build our binary distributions. You may need |
| 107 | to edit this and the other files as appropriate. |
| 108 | |
| 109 | Installing |
| 110 | ========== |
| 111 | |
| 112 | Different unix platforms have different conventions for where software should |
| 113 | be installed. To copy the programs to some directory which is in your PATH |
| 114 | environment variable, such as /usr/local/bin, there is a script called |
| 115 | vncinstall which you can use: |
| 116 | |
| 117 | % cd .. |
| 118 | % ./vncinstall /usr/local/bin |
| 119 | |
| 120 | This will also attempt to install the manual pages in an appropriate directory. |
| 121 | You can specify an alternative directory as a second argument to vncinstall: |
| 122 | |
| 123 | % ./vncinstall /usr/local/bin /usr/local/man |
| 124 | |
| 125 | It will also try to install the vnc.so XFree86 version 4 module if appropriate. |
| 126 | This will be copied to the /usr/X11R6/lib/modules/extensions directory and can |
| 127 | be enabled like any other module by adding a Load "vnc" line to the Module |
| 128 | section of XF86Config. The parameters listed in the Xvnc manual page can be |
| 129 | set as options in XF86Config e.g. Option "passwordFile" "/root/.vnc/passwd". |
| 130 | Note that for some reason options cannot be set in the Module section of |
| 131 | XF86Config - try the Screen section. |
| 132 | |
| 133 | If you want to use the Java VNC viewer, you should copy the files from |
| 134 | the 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 | |
| 140 | We recommend that you use the vncserver script to run Xvnc for you. You can |
| 141 | edit the script as appropriate for your site. Things you may need to change |
| 142 | include: |
| 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 | |
| 156 | ACKNOWLEDGEMENTS |
| 157 | ================ |
| 158 | |
| 159 | This distribution contains public domain DES software by Richard Outerbridge. |
| 160 | This is: |
| 161 | |
| 162 | Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge. |
| 163 | (GEnie : OUTER; CIS : [71755,204]) Graven Imagery, 1992. |
| 164 | |
| 165 | |
| 166 | This 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 | |
| 212 | This 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 | |
| 236 | This 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/ |