« Extract clips from DVDs | Main | Mac OS X Mail keyboard shortcuts »

Review: Chicken of the VNC - the way to go

Posted in: Internet, Non Stop Mac, Reviews, Software

I had a situation where I needed to control two computers over the Internet. The best solution for me was to use VNC networking technology. VNC stands for Virtual Network Computer and is a real nice way to remotely control computers through a GUI interface in which you see the remote desktop. I tried all of the Mac OS X VNC clients I came across and from my experience Chicken of the VNC is the way to go.


First let me introduce the problems I came across with other clients. Most of them were either buggy, lacked some basic functionalities or plain and simple didn't work. I even tried starting a Java environment locally and tested a Java based VNC client. It was rather good with my Safari, but it had big problems with running inside the Firefox browser. I ditched the Java version because I wanted to have a full blown Mac OS application, and not a Java applet that depended on my choise of browsers. The biggest problems with other VNC Mac applications was that after inititating the connection to the remote VNC server, it usually hanged and in 1/3 cases didn't even successfully show the remote desktop. After closing the connection, it was obvious that the connection was made, but the desktop didn't open. Best time management games every day

In my last grasps in trying to find a perfect client, a VersionTracker search gave me a software with a funny title - Chicken of the VNC. I said what the heck, let's check it out. Couple of months after, I am using the application almost on a regular basis.

Before going into details on the software behind the chicken icon in my dock, I will give you a couple of facts on VNC. Please be careful when using VNC as the protocol emits information in un-encrypted form. I've came across of a couple of bulletin board posts that clearly stated that VNC is a security risk, which it is, but most of the people don't know that there isn't a security vulnerability in VNC per se, but the problem is because it doesn't use encryption or some kind of SSH tunneling. Imagine VNC as a FTP of the computer to computer connections - it is good but lacks security mechanisms. VNC client-server connections use passwords for authentication, which should be enough in majority of scenarios.

As this article is based on the Chicken of the VNC client, I won't go in details about setting up the VNC server or getting deeper in VNC communication. Search Google for this, or bug me in the comments and I may do a follow-up article.

I am currently using Chicken of the VNC 2.0b3, which is not the latest version. A month ago the developers released 2.0b4 version, but the Sourceforge project page doesn't mention any new bugfixes or functionalities, besides that the new version is an universal binary.

To start this overview of the software I will first mention the only thing that bugs me a bit. When you start the program, it doesn't open some kind of a "open connection" interface at the center of the screen, but you need to go to the program's menu on the top of the screen and click Connection->Open connection. While I got used to this, I would really like this a bit optimized.

Users familiar with VNC know that one of the biggest issues surroudning its performance is responsivness of the sessions. The slower your connection is you will have slower response on the remote computer. Chicken of the VNC has some good options that give you the possibility of change 11 different levels of screen updating. It is very nice to see the developers thought about multiple connections, so you can change the specifics for both the frontmost, as well as other connections.

Also very important is the optimization of your session. Every VNC client offers the possibility of changing the number of colors it will use during the session. Of course if you setup millions of colors, the session will be much slower than the situation where you setup the client to use 256 colors. I am on a rather modest DSL connection, so I am using 256 and it works quite good. You can change this option in the connection profiles menu under colors tab.

If you are an advanced user, Chicken of the VNC gives you quite good options to setup your own personal shortcuts for the non-connection windows, windowed connection and a full screen connection.

VNC clients are pretty easy to use as they don't have a large number of options. When you are setting up a new connection there are three important options to consider:

View only

This is prettu self-descriptive. By checking this box your connection will not send mouse clicks and keyboard typing to the remote server.

Allow other clients to connect

When checked, this option gives the possibility of multiple clients connecting to the same server. Altought I was the only client connecting to my VNC server, I found this option very useful during troubleshooting. For instance I came across a problem that didn't let me connect to the server. The window with the remote desktop opened but it was blanked. A popup menu said that the connection was denied. I presumed that one of my earlier connections didn't close appropriately, making new connections impossible. In that case I tried creating a new connection with this option turned on and everything worked just fine. It was either some kind of a bug between the client-server connection, or the old connection timed out, but since then I am using this option by default.

Fullscreen display

Altough fullscreen is a rather good option as it virtualizes your remote desktop to the max, be very careful about it. I don't use fullscreen as I really don't need it, but I tested it for the purposes of this review. I opened my server in a fullscreen mode and very soon found out that I cannot do anything to kill that screen. When you are in the fullscreen mode, all the keyboard shortcuts you press are related to the remote desktop. So how to terminate the connection and get back to my notebook desktop? Unfortunately after 10 minutes of playing around different shortcuts I couldn't do it. The only option was to kill my notebook, but that would destroy this review, which btw I didn't save (I manically saved my writing progress during my Windows years, but on Mac things are different). As there was no solution on the client side, I remembered that I can restart the VNC server on the remote server, which evidentally killed my connection and got my desktop in the front plan. I then mangled with the Chiken's keyboard shortcuts but didn't have any luck in finding or changing the desired key combo.

Overall Chicken of the VNC is really a nice piece of software. It is rather fast, stable and provides all the needed functionality. What makes it even better, the software is free to use and is released under GNU Public License.


Comments

I used Chicken of the VNC almost a year ago because I was the only developer using mac and I needed to login to the Win2003 Server desktop... This app, eventhough in beta worked great. It seemed to be even more stable than the windows client. (i used both) I especially liked the user defined shortcuts.

Nice gui, but did you know you can use ssh to tunnel a VNC session?:

#set up the port forward
ssh -C -o CompressionLevel=9 -L 5900:localhost:5900 user@targethost

#fireup your VNC client, tightVNC, whatever

vncviewer localhost:0 &

The compress option isn't necessary as the ssh will default to a 'value' of 6, but 9 works good with dial-up.

With a java-enabled browser, you can also access the PC targethost by subsituting port 5800 in the above ssh syntax.

Then in your browser, type:

http://locahost:5800

and the java applet will load the remote desktop and prompt you for your password, right into the browser!!


Ok then. Hava a nice day. Bye.

The shortcut to leave fullscreen mode is CTRL-SHIFT-APPLE-` and the one between control and apple that I dunno the name of! (sorry, Mac is not my primary platform)

Basically, the five keys in the bottom left corner of a mac keyboard!

Chicken is great, but I prefer Apple's own Remote Desktop.

Remote Desktop 2 is not cheap, $300/10 licenses, but aside from all of software distribution goodness it includes a simple chat client for, well, chatting with whoever is sitting at a Mac you're remoting into, to watch or to control. It starts automagically, puts a binocular icon on the menu bar so you can tell when you're being viewed remotely, and it doesn't use many resources when waiting for connections.

How is this relevant to VNC? That's what Apple uses for the remote viewing. So once ARD2 is installed you can connect to it with any of the dozens of other VNC implementations; from other Macs, from Windows, from PDAs & many cellphones, etc. I regularly use my iPaq PocketPC and WinXP laptop to remote my 20" iMac. Heck I've even done so loading java VNC clients on web browsers in airport terminals.

It's true neither Chicken or ARD2 build in security, but there's nothing to prevent you from creating your own cross-platform secure tunnel using the SSH built into MacOS X. In my case when I'm on the road I create a VPN connection to my router, 2 clicks and I'm running my home Mac. Do an online search on VNC+VPN or VNC+SSH+MAC for directions.

Oh, for a WinXP VNC client I recommend Ultr@VNC, free and it works well for me.

Remote Desktop Server comes pre-installed with 10.4... you don't need to buy anything, just put it on on the server desktop and run Chicken from the client computer.

Also, while I used to tunnel my VNC connectoins through ssh, I stopped doing that. My understanding is that while VNC is "not secure" in that it's not encrypted, the unsecured data you're sending is not file data, but simply data about the millions of pixels on the host's screen. I.e. it's not generally intelligible or useful to anyone even if they did manage to intercept it.

Finally, Dietrich or anyone else who knows such things: is it possible to view a VNC connection through a browser-only interface? The post above implies so, but what about without an ssh tunnel? Like, if the client/viewer was a relatively locked-down PC at someone's office?

I did the same thing last week and I agree that exiting full screen was not intuitive. In the end I too killed the remote VNC session, then looked up the keyboard shortcut (the three keys on the bottom left of the keyboard + Grave Accent key [`].

I also looked at a bunch of Mac VNC clients and came to the same conclusion: Chicken of the VNC. I did find a few others that worked just as well for what I needed, but none of them seemed to be under active development.

Chicken is the best VNC client around, bar none. I've tried several others, but it's the most intuitive, stable, and all-around reliable. Someone should make up a Chicken of the VNC song. That would be great. :)

VNCThing.

http://www.versiontracker.com/dyn/moreinfo/macosx/9261&vid=6708

is it possible to view a VNC connection through a browser-only interface?

Sure - like I said, use a Java client.

Indeed many VNC servers include a Java client, though not Mac ones. The default port for most VNC servers is 5900, their web server port is 5800. Thus browse to http://client:5800, enter the password, and you're golden.

However as I noted none of the Mac servers I'm aware of include the Java client. You can always download one and serve it using MacOS X's built-in webserver, or stash it on any other web page you may have (.Mac?) Then just load it and point to your target VNC server - remote access from anywhere with a web browser & Java installed :)

Also, while I used to tunnel my VNC connections through ssh, I stopped doing that. My understanding is that while VNC is "not secure" in that it's not encrypted, the unsecured data you're sending is not file data, but simply data about the millions of pixels on the host's screen. I.e. it's not generally intelligible or useful to anyone even if they did manage to intercept it.

If someone wanted to 'tap' your remote session over unencrypted VNC it's not hard. Yes, from server to client it consists of compressed information about lotsa pixels. But the details are negotiated 'in the clear' at the beginning of your session and the formats used are very well documented, so 'listening in' it's not hard to reconstruct what is being sent.

Furthermore the big concern is not the graphics from server to client but the keystrokes going from client to server. Those are trivial to intercept and possibly contain passwords and other 'interesting' material.

That said are there legions of folks out there looking to eavesdrop on your VNC connections? Probably not. But all the same I wouldn't type anything confidential over an unencrypted VNC connection, especially over a convention hotel network or the like.

If you use the built-in Apple VNC server support you will be terribly disappointed. It appears to be there purely as a bullet-point item for corporate sales, not because Apple actually cares about it. In particular it supports none of the compression options in the VNC protocol and is therefore SLOW SLOW SLOW.

If you install a real VNC server like OSX VNC which does support compression, you will be amazed at how much better the VNC experience feels. (Yeah, it still sucks compared to the right way of solving this sort of problem as is done by Windows Terminal Server or by X Windows, but Apple hasn't given us the low-level technology for that yet --- maybe in 10.5)

I've seen you all have problems trying to close the VNC connection. You all close the VNC server to kill the connection. What I do is to close Chicken of the VNC by pressing APPLE+ALT+ESC that regularly makes the opened apps window appear but in this case it simply closes Chicken of the VNC.

The only thing that gets me anoyed is that then I have to restart Chicken of the VNC if I want to open another connection. But that's not major problem anyway, I think its better than killing Mac OS to have control again.

> Also, while I used to tunnel my VNC connectoins through ssh, I stopped doing that. My understanding is that while VNC is "not secure" in that it's not encrypted, the unsecured data you're sending is not file data, but simply data about the millions of pixels on the host's screen. I.e. it's not generally intelligible or useful to anyone even if they did manage to intercept it.

How do you think your keystrokes are transmitted? If you type a password to a third machine?

Post a comment




Please input the security code: