Richard Moore,


What is Keystone?

Keystone is a tool for KDE that allows you to remotely access the desktops of machines using the cross-platform VNC system. Keystone can access machines running a variety of operating systems (including most UNIX systems and Windows 95/98/NT/2000) providing they are running a VNC server. Note that Keystone is only a client program, you will need to download a server separately in order to use it.

The protocol used by Keystone (called RFB) was developed, and released as GPL by ORL (now the UK branch of AT&T research), they also wrote and maintain GPL servers for several platforms. You can find both information about the protocol and links to servers for a range of platforms on their website.

Keystone started life as a port of Markus Wuebben's kvncviewer program to KDE 2, but in the course porting the code, I have rewritten and redesigned most of the system. The new implementation builds on several new facilities that were not available in KDE 1, such as KPixmapIO and QSocket. There is so little of the original code left that I have decided on a name change, and to put the version number back to 0.1.

You can see a few screenshots of Keystone in action on my screenshots page. The screenshots may or may not reflect the look of the current version as I have some look and feel improvements planned.

If you're interested in using Keystone on a handheld device, take a look at the Keypebble application in Qtopia (QPE). As the name suggests, Keypebble is simply a Qt/Embedded version of Keystone.


Most Linux distributions include the standard Xvnc server (usually run via the vncserver script), you can also download this and servers for other platforms such as MS Windows from the VNC website. If you have a problem with setting up a server then you should read the VNC FAQ, and if that does not help join the VNC mailing list. Do not mail me on this topic - I can't help and won't even reply.

I may in future write a server that operates in the same manner as the Win32 server for KDE. The Win32 server differs from the X11 server in that it does not virtualise the entire desktop. This has both advantages and disadvatages, it means that you can make an existing session available over the network, but only allows you to run a single server. I may also put a GUI together that makes it easy to configure the ORL server.


The current version is 0.4, and the following are now working:


Version 0.4 contains the following known bugs:


Keystone is available in the kdenetwork module of the KDE CVS, and is included in the KDE 2.0 release. The current version is 0.4. Note that Keystone requires KDE 2, you cannot use KDE 1.x.



These are the things I'm hoping to add to future versions of Keystone. They're vaguely sorted in order of importance.


Keystone owes a lot to Markus Wuebben's kvncviewer which some of the code is derived from. Thanks are also due to Espen Sand the author of khexedit from which I borrowed some code for the about dialog. Alison Burch drew the bridge image used in the background of this page (and in future versions of Keystone too of course). Finally thanks go to ORL for making the RFB protocol and servers GPL.