Seizing control of someone's computer might seem like a violating act of aggression, but sometimes it's necessary.
We've known people to run remote desktop sessions against the machine they're actually using (it sounds crazy, but there was more than one desktop running), so don't imagine you can't find some use for it.
While real Unixers may like to sing songs about SSH and the command line, you may need to gain access with a graphical desktop, and that's where remote desktops come in.
For many people, the tried and tested method is VNC, and it features in a lot of clients in this test. But there are other protocols and types of desktop. In fact, the growing vogue among these clients is to support multiple protocols, so whatever desktop you're targeting, and whichever server it's running, there should be something suitable here.
Obviously, over the course of these tests, we sometimes weren't running exactly like for like – but that gives a fair test of the differing protocols too. For example, although NoMachine NX supports VNC connections, we tested its performance against its own NX server, which seems to make sense.
We didn't test the TightVNC client, mainly because it's very close to the TigerVNC implementation – they have a common codebase, but TigerVNC has a few more features.
How we tested...
The key to a good remote desktop is getting the responsive feedback you need to use it well. It's no good if the screen looks perfect, but it takes two minutes for each keypress to register.
We tested our ability to play Armegatron remotely. This OpenGL lightcycle game requires split-second timing, as well as the display to be refreshed often. The results are somewhat subjective, but the matches won out of ten are in the tables at the end.
The clients were tested against a local machine on a Gigabit LAN running the VNC server software Vino and the official NX server for the NX clients. RDP functionality is mentioned but wasn't tested.
The clients ran on a 3GHz Core 2 Duo machine running Fedora 13.
Since we gave Vinagre the opportunity to work with Vino, its Gnome compatriot, we thought we'd use a standard KDE desktop on the client and server side and try Krdc with the Krfb server.
Somehow, even though it's implementing the same VNC protocols that everything else does, this combination is about the worst thing after TeamViewer in terms of responsiveness. It worked much better with the standard VNC server and Vino than with Krfb.
A less than auspicious start, but wait: Krdc is actually pretty good. Aside from the NX clients and Remmina, it was the only client on which we stood a chance of surviving a round of Armegatron. The responsiveness and frame rate were great, even if Krdc did still suffer the same background redraw problems as other VNC clients.
If your viewing needs change, it has an easy button to switch between full and scaled viewing modes. There are tabbed views for multiple connections, and the panel on the right, rather like Vinagre, also displays a list of bookmarks, recent connections and servers discovered on the local LAN.
There are plenty of settings for the client itself, but a disappointing set of choices for configuring the connection – you get the choice of high-, medium- or low-speed connections, and the software works out which features to use from there. We found this a bit annoying and limiting.
Aside from that, using Krdc was trouble-free, and it also supports the RDP protocols used for Windows remote access. If someone adds an NX plugin, it could become even more useful. If you run KDE and need an occasional VNC client, there's no compelling reason to change.
Krfb is a bust, but the client side of this pairing is a rare gem.
This tiny Java-only client can be downloaded from the RealVNC site, but it's also contained in the RealVNC server software itself. Navigate to the correct port in your browser and the app will download and run, assuming you have Java set up properly.
If you want to build it from source, the Makefile is a bit outdated, so you'll have to edit it and substitute javac for jikes.
You wouldn't really expect a Java client to top the performance stakes when it comes to something graphically intensive, and this client did little to change that perception. Despite the fact that we couldn't manage to coerce it out of 256-colour mode for the duration of testing, it still managed to crawl along.
The only reason we didn't spot more glitches on the display was because we weren't really sure what murky-dither patterns were intentional. Needless to say, the other options available are pretty shabby, and we couldn't get encryption to work at all (which is probably a good thing considering the speeds we managed).
It comes across as a faithful replica of the native RealVNC client. The TigerVNC client is a fork of the VNC code, so more or less comprises the bits from RealVNC and TightVNC, although development has continued on these.
So, it resembles a slightly less pleasant version of TigerVNC and doesn't perform very well. If it had sound support, it would probably swear at you and tell you how rubbish you are. However, in an emergency, a Java client is a good standby.
You might not need to be able to see everything perfectly to perform a server-saving operation, so it's worth knowing about.
RealVNC Java Client
It isn't pretty or quick, but it works well enough to keep for emergencies.
Though not be the officially Gnome-endorsed client, Remmina certainly looks at home on the Gnome desktop with its GTK stylings. The well-designed layout works just as well on a small notebook as a giant desktop monitor.
A minimalist main display contains a toolbar and a list of available connections. Once connected, a new window spawns showing the remote desktop. Multiple connections are managed by easy-to-navigate, named tabs.
The useful toolbar controls are visible all the time, enabling you to rescale the display quickly to fit the available space, go full-screen or even individually control the horizontal and vertical scale of the window.
Unlike some of the clients, you don't get very fine-grained control over the protocol options such as compression, but it does at least give you a choice of colour modes and the four-step quality control, which seems to be a reasonable way of managing bandwidth and CPU use. Managing connections and bookmarking them is intuitive, although there's no automatic discovery.
In the responsiveness stakes, Remmina managed to wow us with its performance during the Armegatron test – not only was it playable, it was barely distinguishable from running the game locally, except for a slight (but crucial) delay relaying keyboard taps. There are no chat or file transfer facilities for basic VNC connections, but these are available for RDP links, which are also supported by this client.
As we were finishing off this Roundup, version 0.8 of the software was released. Among the new features is support for NX sessions! This makes Remmina the client with the widest range of protocol support, to top it off.
Great features, great performance – we don't know how it could be better.