What's the difference between Chicken and Chicken of the VNC?

Chicken is an improved version of Chicken of the VNC. Chicken of the VNC has essentially been abandoned by its developers. Chicken is an independent project, which builds on CotVNC to add new features and bug fixes, while remaining streamlined and easy to use.

Can I use my saved servers and passwords from Chicken of the VNC in Chicken?

If you've previously used Chicken of the VNC, any preferences or saved servers will be imported by Chicken the first time it is run. However, saved passwords are not copied.

If you wish to transfer your saved passwords, you can do this manually. First open Keychain Access in the Utilities folder. For each keychain item called cotvnc, double click and change the Name and Where fields to Chicken, and click Save Changes. Similarly, change cotvnc-zeroconf to Chicken-zeroconf

Screen Sharing is enabled, so why does Chicken say I can't connect?

In the Screen Sharing settings on the remote computer, you need to check the box which says VNC viewers may control screen.

Apple's Screen Sharing is based on VNC, but it is not completely compatible. One difference is that Screen Sharing, by default, requires both a username and password to log in, where as standard VNC only requires a password. Chicken only supports the standard VNC log in, which is why you need to tell Screen Sharing to enable VNC authentication.

What do the errors "Unknown rectangle encoding," "Unknown message type," "Protocol error," etc. mean?

These indicate that Chicken got confused by the data that the server was sending to it. This could be caused by a bug in the VNC server software. However, just between you and me, it's more likely that there's a bug in Chicken. Many times this error message also tells you what the previous encoding is, and that encoding may be the root cause. You can a disable a given encoding in Conection Profiles and the Encodings tab. Be sure to re-enable encodings which don't cause problems as these may give you a better connection.

Also, please report a bug, which should include the encoding that seems to be responsible, the VNC server software, when the error occurs (immediately after connecting, only after moving the mouse, etc.), and anything else about how the error occurs.

I Get Strange Characters When I Type

Chicken tries hard to work with different keyboard layouts. However, not all servers will know how to handle all characters which might be on your keyboard. There are a couple of things to try for better keyboard compatibility.

First, VNC will work best if the server and client are both configured to use the same keyboard layout. Second, if you're connecting to a virtual machine, it generally works better to run a VNC server within the virtualized OS, rather than using a VNC server built into the virtualization software. VNC is designed to work at the OS level rather than the level of emulated hardware.

Third, you can change the way that Chicken interprets the Option key. By default, Chicken will treat the Option key as Meta or Option on the remote computer. If you instead want to use the option key to enter special characters by OS X shortcuts, go to the Modifiers tab in Connection Profiles and change the setting for the option key to none (local keymap).

If you still have problems with the keyboard, file a bug report.

What about dead keys?

Chicken does not support dead keys. If you type a dead key, it just won't send anything to the server. Sometimes, you can get around this by typing the key combinations which trigger the dead key on the remote server. For example, if the remote server is a Mac with a US keyboard layout, typing Option-e will add an acute accent to the next letter (assuming that the option key is set to Meta (Option) in Connection Profiles).

Why Can't I Control Click?

By default, Chicken interprets control-clicks as right clicks. If you need to send a control-click, you can change the emulation for right mouse button to something other than control-click, as described here.

How 'Bout Command-Option-Escape, Control-Alt-Delete and Other Strange Combos?

You can force-quit applications on a remote Macintosh by sending the CMD-OPT-ESC keystroke from the Connection menu's Special Keys submenu.

Likewise, Windows machines commonly use the CTRL-ALT-DEL keystroke. You can send this keystroke by choosing Send Ctrl-Alt-Del from the Connection menu's Special Keys submenu. If you'd prefer to type the keystroke, you can do this by simply hitting the keys that map to it. In the default configuration, this is CTRL-CMD-DEL (the CMD key is also referred to as the Apple key).

On machines that don't have a DEL key (such as laptops), you can use the function key and the ordinary delete key. In the default configuration, you would use CTRL-CMD-FN-DELETE.

Similarly, to send Alt-F4 on a laptop (where F4 is mapped to sound volume), you can use CMD-FN-F4.

You can see additional uses for the Function key on Apple's Laptop Technical Pages.

The Connection menu's Special Keys submenu has several other commonly used keystrokes that are not found on Macintosh keyboards.

What's the difference between the display number and the port number?

The port is just the display number plus 5900. If you enter a number less than 50, Chicken assumes it's a display number and adds 5900 to get the port. If you enter a number greater than or equal than 50, then Chicken assumes it's a port and uses that.

Okay, so how do I connect on a port less than 50?

Enter host:port in the host name instead of just host.

How can I import my server list from somewhere else?

Importing servers is not directly supported. However, as of Chicken 2.2b1, the server list is stored in a standard property list format which you can edit if you're comfortable with the command line and XML.

First, make a backup copy of Chicken's preference file ~/Library/Preferences/net.sourceforge.chicken.plist. Then run plutil -convert xml1 ~/Library/Preferences/net.sourceforge.chicken.plist. The file is now is now an XML representation of all of Chicken's preferences, including the servers, which are stored under the SavedServers2 key. By looking at examples, it should be clear in what format to add new servers to the list. When you're done editing, type run plutil -convert binary1 ~/Library/Preferences/net.sourceforge.chicken.plist to convert back to binary format.

What is the coolest feature of Chicken?

Chicken can tint the remote display for visual distinguishability. When the remote server is running a different OS, it is easy to distinguish local windows from remote windows because they look different. However, when the remote OS is also a Mac, then there is no immediate visual clue as to whether a window is remote or local. In the Colors tab of the Connection Profiles, you can choose to tint the remote display to provide such this visual hint.

How can I help?

The source code is available on SourceForge. Patches for bug fixes or feature additions can be submitted through the SourceForge tracker.

What Chicken really needs is more complete translations. If you speak French, Italian, or Japanese, you'll notice that Chicken speaks a mixture of your language and English. These translations were inherited from CotVNC, but newer features are only in English. If you want to help translate, you can start by adding missing translations to the French, Italian, or Japanese string lists or by adding starting with the English-language strings to provide a translation to a whole new language.