

|
Instructions & Documentation
What is VNC?
VNC stands for Virtual Network Computing. It consists of three parts: a server, a client and the RFB protocol. It is designed to facilitate monitoring and/or control of arbitrary devices through a framebuffer, mouse and keyboard interface (such as found on a typical PC or workstation). Servers and clients are available for many platforms, including palmtops, UNIX and embedded devices. VNC is lightweight enough to be minimally implemented on almost anything. Most current VNC implementations use TCP/IP as a transport, however VNC can work over any reliable, bidirectional transport.
What is ChromiVNC?
ChromiVNC is an implementation of a VNC Server, which runs on Macintosh. Once installed, it allows authorised users (such as the owner) to control and/or view the Macintosh remotely. In order to do this, you will need a VNC client, which can run on any platform. VNCThing (see the Links page) is a good Macintosh VNC client.
How do I install ChromiVNC?
For PowerPC Macintosh: Download and unstuff the archive. Move the ChromiVNC application anywhere you like. Move the vncPatches into your Extensions folder (drop it on your closed System Folder, that should do it). You may wish to add an alias to ChromiVNC in your Startup Items folder, so it launches on every reboot. Reboot, to activate the vncPatches. Don't forget to set a password in the Preferences dialogue box, when it appears on first launching VNC. Test your installation by moving to another machine and using a VNC client to connect to your new server.
For 68K Macintosh: Follow the instructions above, but do not place the vncPatches in your Extensions folder. Instead, visit Adrian Umpleby's website (see the Links page) and download a copy of vncPatches68k. The standard vncPatches are not compatible with 68k, but I hope to address this issue at some point in the future.
What do all the buttons in the Preferences field do?
In most cases, you can leave all these at their defaults. Some are worth special mention, however:
- Password - The most important setting. Without a password set up in the Preferences, anyone can connect and take control of the machine while VNC is running. I reccommend you set a password at least 6 characters long, and including mixed case letters, numbers, and symbols if possible. The maximum length password for compatibility reasons in 8 characters, but see below on Long Password Support.
- View-only password - This allows you to give users a separate password which can only be used to view the screen. In this configuration, users who authenticate with the View-only password will be unable to move or click the mouse, type on the keyboard, affect the contents of the Clipboard or disconnect other users. This is a good feature for conferences, presentations and for teaching. If no password is entered here, the feature is disabled.
- Key-retrieval password - This field is reserved for future use when encryption is implemented. You may leave it blank for the time being.
- Desktop name - Simply enter a meaningful string to describe your computer. This will usually appear in the title bar of the VNC client. I like to use the model name and number of the Mac in question.
- Port and Display number - These linked fields control what network socket the VNC Server listens on. Unless you have an unusual network configuration, you can leave these at default.
- HTTP Port - Similarly, the built-in Web server listens on a separate network socket. Port 5800 is normal for a VNC installation, but you may also want to try port 80 (this is the port on which most Web servers listen).
- Use hardware mouse pointer - If you cannot see the mouse pointer of the server from the client, you may need to turn this on. If you see double pointers, you may need to turn it off. If either action helps, let me know what model Macintosh you have and what you did, so I can update the default for your machine.
- RRE, CoRRE, Hextile etc. - These are image compression formats which the server can use to speed transfer over slower networks, and reduce bandwidth consumption on faster ones. However, it requires some CPU power to do this. If you have a very slow Mac and a reasonably fast network (eg. an Ethernet LAN), you may wish to try turning off some of the encodings to reduce CPU load on your Mac. The chart alongside these switches shows the relative CPU cost and bandwidth reduction of each one. In general, the more CPU an encoder uses, the more bandwidth it saves. Also note that some encoders work better on different types of images - ChromiVNC tries to automatically select the best one for each area of screen. This selection, in itself, causes some excess CPU usage, however.
- Enable long passwords - Previous versions of VNC limited the allowable password length to 8 characters. This is a pretty poor maximum, so I decided to take the bold step of including a new authentication scheme in ChromiVNC alpha 5. There will be some time delay before other implementations support the new scheme, however, so I have included this checkbox to switch it on and off. The new authentication scheme uses a challange/response handshake with an RC5 cipher, which supports password key lengths far in excess of 8 characters. The old scheme, by contrast, uses triple-DES, which only supports the 8-character password mentioned earlier. Details can be found in the Specifications section.
What is the RFB protocol used by VNC?
RFB stands for Remote FrameBuffer. The general idea is that after authentication, the client sends requests for updated screen information to the server. The server then sends updated pieces of screen to the client, usually in a compressed format. The clinet also sends mouse movements, clicks, and keypresses to the server along with the update requests.
At present, the only complete documentation of the RFB 3.3 protocol currently in use is at AT&T's website. As part of my own refinements to the protocol, however, I plan to produce my own documentation of the entire protocol and it's known extensions to date. Hopefully, this will provide a more complete and readable documentation than is currently available from AT&T.
What extensions to the RFB protocol does ChromiVNC use?
Presently, only one extension is implemented - Long Password Support. Details of this extension will be made available shortly.
Planned extentions include: Zlib encoding; Encryption support.
This site and content (C) 2000-2005 Jonathan "Chromatix" Morton. All rights reserved.
Reproduction of text permitted provided context is preserved and this unaltered notice is attached.
Redistribution of software permitted according to licences included with software.
Having trouble with the website? Comments? E-mail me at
site -at- chromatix -dot- uklinux -dot- net.
|