Lean, green, remote access machine

By

VNC is an excellent, free, multiplatform client-server remote control application – but not everyone can take advantage of it. Some people may be unable to use it because they are behind a firewall, or they may be restricted from using a native VNC client due to company policy, lack of privileges, or even the lack of a native VNC client on their platform. But now there’s a server-side alternative that lets anyone with a web browser use VNC without the need for Java or plugins on the client side. Guacamole translates the VNC protocol into a form that JavaScript can conveniently handle: XML with PNG images. You can use Guacamole to access your desktop as you would with a native VNC client – and once the project implements read-only modes, Guacamole will be useful as a meeting or demonstration aid as well.

Developer Michael Jumper created Guacamole when he found himself working on a network behind a firewall that blocked all outgoing connections to anything but HTTP and HTTPS. “I needed a way to access my computer remotely without violating company policy, and a web application like Guacamole provides this. I began Guacamole development a couple of months ago because no other usable, open source, web-based VNC client existed.”

Jumper offers a tip for better performance: “If using Firefox under your Guacamole instance seems slow when scrolling, try a different browser, such as Epiphany, the browser that comes with GNOME. While Epiphany may be no equivalent to Firefox, it definitely scrolls faster, as scrolling Epiphany sends fast CopyRect updates. Firefox just redraws the entire window, which is very slow over VNC.”

Jumper says early versions of Guacamole were developed under NetBeans. “I was most familiar with its debugging environment, and it managed Tomcat configuration for me. I have since removed the NetBeans parts, and develop the project from the command line using vim and ant, deploying to my Tomcat test server as needed. I only go back to using NetBeans if I need the debugger. I put the project up on SourceForge.net because I know from experience that it is a great development environment. I needed web and SVN hosting, as well as a place where others would actually look for my code, and SourceForge.net provides exactly that.”

Guacamole is still in a fairly early stage of development, but improving rapidly, with new releases planned every week or two. Jumper says upcoming versions will implement more of the VNC protocol, such as authentication. “I also plan to make a standalone version for non-technical users. Expect improvements to the user interface, logging and error handling, and performance.”

To move the project along, Jumper urges users to get involved. “Right now the most important thing is testing and documentation. I need people to download Guacamole, test it in their own unique environments, and contribute information about problems encountered. The documentation I have provided is largely Linux-specific, as Linux is the only system I use. The input of users of other Unix flavors and Windows or Mac would be very helpful, as Guacamole is intended to be cross-platform.

“If anyone wants to help, the best way would be through posting their installation experiences and questions in the Guacamole forums. I can use that input to update the documentation, and while the documentation is being updated, other users can read the forums and learn from the posts.”