Best Linux remote desktop clients: Top 5 RDC in 2017

This article was provided to TechRadar by Linux Format, the number one magazine to boost your knowledge on Linux, open source developments, distro releases and much more. It appeared in issue 220, published February 2017. Subscribe to the print or digital version of Linux Format here.

SSH has been the staple remote access tool for system administrators from day one. Admins use SSH to mount remote directories, backup remote servers, spring-clean remote databases, and even forward X11 connections. The popularity of single-board computers, such as the Raspberry Pi, has introduced SSH into the parlance of everyday desktop users as well.

While SSH is useful for securely accessing one-off applications, it’s usually overkill, especially if you aren’t concerned about the network’s security. There are times when you need to remotely access the complete desktop session rather than just a single application. You may want to guide the person on the other end through installing software or want to tweak settings on a Windows machine from the comfort of your Linux desktop yourself. 

This is where remote desktop software comes in handy. Using these nifty little applications you can remotely access and operate a computer over the network from all sorts of devices. There are various protocols and while the clients we’ll cover in this article support multiple ones, we’ll focus on Virtual Network Computing (VNC) which is amongst the most popular.

Specifically, we’re going to evaluate and compare five clients: RealVNC, Remmina, TigerVNC, TightVNC and Vinagre.

How we tested

A remote desktop sharing session involves a server and a client. The server component is installed on the remote machine that you want to access and the client is installed on the local machine or even on a mobile device such as a tablet. For this feature, we’ll use three servers – the RealVNC server built into a Raspberry Pi, the default Vino server in Ubuntu and TigerVNC server for accessing Windows PCs.

A good remote desktop client should be responsive, and as such we've rated responsive clients higher than those which do a wonderful job of replicating the remote desktop in true colour but take ages to register clicks and key presses. We’ll also keep an eye out for any related features that are included, such as the ability to encrypt connections. The clients and servers are also all running inside our network connected via Wi-Fi.

So, without further ado, let’s move on and compare these clients across a broad range of aspects – from available features, to the interface, multimedia capabilities and more – before we round things off with our final verdict.

Nate Drake also contributed to this article

All the clients in this article are rather equally matched in terms of features. That said, Remmina and Vinagre are the only ones that can sniff and discover a VNC server running on the network. Additionally, Vinagre can tunnel VNC connections through SSH and enables you to easily take screenshots of the remote machines.

However, with RealVNC and Remmina you can manually tweak the quality of the connection to make good use of the available bandwidth. Best of all Remmina lets you alter the colour depth of the remote desktop on the fly. The application encrypts VNC connections with the AES256 algorithm and also offers a button to send all keyboard commands to the remote server.

TigerVNC and TightVNC are both very similar since the former is a fork of the latter. TigerVNC uses TLS encryption by default. While the application encrypts traffic, it cannot verify the identity of the server. However, TigerVNC supports various other encryption schemes, such as X509Vnc, that do allow this.

Furthermore, TigerVNC offers users controls to manually tweak the encoding and colour level and a couple of other parameters depending on the available bandwidth. You can also use it to create view-only sessions and run a full-screen session on the guest. TightVNC offers pretty much the same features as TigerVNC, but some distinguishing features like the ability to transfer files are available only to Windows users.

Sound is not supported by any of the clients. Only RealVNC has the ability to transfer files. However, the file transfer feature along with several others such as the ability to exchange instant messages with the person on the VNC server are available only when you connect to a RealVNC server, e.g. the one pre-installed on Raspbian for the Raspberry Pi.

Furthermore, the client only encrypts connections to the RealVNC server (now known as VNC Connect). The client allows multiple sessions and can run sessions full-screen and scale the remote display to fit the current window on the client computer. It can also remember remote access credentials so you don’t have to enter them each time which is a definite plus, especially if you need to remotely manage a handful of machines. Simply double click on a machine from the RealVNC window to connect automatically.

Verdict

  • RealVNC: 4/5
  • Remmina: 4/5
  • TigerVNC: 3/5
  • TightVNC: 3/5
  • Vinagre: 3/5

If you’re a fan of using multimedia on your remote desktop, we suggest you give TightVNC a miss. Using the default settings you can perform simple actions like viewing PDFs but videos are barely watchable and games which rely on rapid keyboard presses such as snake4 performed horribly, with a delay of over two seconds.

Remmina performed better and games were playable without any delay even at the best quality on the remote Ubuntu server. However, we couldn’t watch video playback at any quality setting. At the lowest quality level the video was less jerky but the colours were wrong. At the other end of the quality setting the colours were perfect but the video skipped frames. The application could also easily scroll through lightweight PDFs at best quality, while scrolling through PDFs worked best at lower quality levels.

Similarly, you can easily scroll through PDFs and perform regular desktop tasks with RealVNC. You can get more mileage from your Pi using the experimental hardware acceleration mode which allows you to run applications such as Minecraft Pi, and watch videos with the built-in omxplayer, without any issues. 

TigerVNC and Vinagre delivered the best performance. You can use either application to play games without any delays even at the best video quality setting. Video playback was also surprisingly good and we could easily scroll through all sorts of PDFs at the best quality.

Verdict

  • RealVNC: 4/5
  • Remmina: 3/5
  • TigerVNC: 4/5
  • TightVNC: 2/5
  • Vinagre: 4/5

There are several facets to the usability aspect of the client. First up is the interface for establishing the connection to the server. To score points for usability, the client has to offer the right number of features to define the connection without inundating the user with a sea of toggles and checkboxes.

Also, the client’s role doesn’t end when the connection is established. The post-connection interface plays a crucial role in helping you interact with the remote desktop. In this article, we’ll only rate applications based on the accessibility of post-connection features. The fact that some applications offer more controls than others, once the connection has been established, will be compared in a separate section.

We’ll break this slide down into mini-reviews of the interface and user experience, starting with…

RealVNC

You’ll have to define a new connection before connecting with the RealVNC client by manually entering the IP address of your VNC server. You can then either use the default settings or tweak them from the New Connection window. The General and Options tabs list common parameters while the Expert tab lets experienced campaigners modify the default values of various parameters. You can access these options during an active connection either by using the hidden menu at the top of the connection window or by pressing the F8 key.

By default, the RealVNC client also saves screenshots for connections. During an active connection the client also gives you the option to transfer files to and from the remote server and exchange instant messages. However, these options will only work when connected to a RealVNC server.

Score: 3/5

Remmina

Before you can establish a connection, Remmina asks you to create a profile to define parameters for the connection. At the very least, you’ll have to select a protocol from a drop-down list and enter the server’s IP address. Optionally, you can define other parameters that vary depending on the protocol being used, e.g. for VNC connections, you can optionally choose the colour depth and quality of the connection as well as encryption. You also get checkboxes to toggle some quick settings like starting a simple View Only session and disabling encryption etc.

Remmina has an intuitive tabbed interface that enables you to manage multiple remote desktop sessions from a single window. There are a bunch of buttons for common tasks such as switching to full-screen mode or to the scaled mode in case the remote desktop doesn’t fit.

Score: 3/5

TigerVNC

TigerVNC has a rather straightforward interface. However, unlike some of the other clients in this feature, it lacks the ability to automatically sniff VNC servers on the network and you’ll have to manually enter the IP address of the remote VNC server to establish a connection. While the default options work for most users, various connection parameters can be customised.

Besides the options to choose the encoding, colour and compression levels for the connection, you can also elect to only view the remote computer screen. Furthermore, TigerVNC enables you to share the clipboard with the remote VNC server and the application also makes it possible to choose the remote session screen size.

Score: 3/5

TightVNC

TightVNC is the only software in this feature to use a Java viewer. It also uses a simple textbox interface similar to TigerVNC’s. You’ll have to manually enter the IP address of the remote VNC server since the client cannot detect VNC servers running on the network. Again, you can either connect with the default option or customise any of the available settings. However, TightVNC lists all of the available options in one window unlike TigerVNC’s tabbed interface.

The differences between the two continue once a connection has been established: While TigerVNC uses a hidden menu, the TightVNC viewer lists a row of buttons at the top of the interface, and you can use these to customise any of the parameters for the connections – as well as sending various special keys to the remote VNC server.

Score: 3/5

Vinagre

Vinagre has a minimal interface that’s very much like Remmina. However, there aren’t nearly as many advanced options behind Remmina’s simple GUI. To connect all you need to do is pick a protocol from the pull-down list and enter the IP address of the remote VNC server. What makes Vinagre more intuitive and user friendly than Remmina is the very helpful Find button that hunts for active servers on the local network.

Also much like Remmina, you get optional checkboxes to start a full-screen session, a view-only or a scaled window. You also have the ability to select a colour depth from 24-bit true colour to 3-bit ultra-low colour, plus you can also enable JPEG compression if you have the resources to bear the processing overhead. On the downside, you can’t change the quality settings of an active connection.

Score: 3/5

TightVNC won’t be much help if you’re new to VNC. The website has a single PDF guide on getting started for Windows users. It's easy to see from this – and the handful of screenshots – that this is a product mainly aimed at Windows users. If you need dedicated tech support, you can also pay for an annual subscription. 

TigerVNC isn’t much better. There’s next to no documentation on the website with just HTML versions of the main pages of the various utilities. The website also points to the project’s three mailing lists – one of which is meant for resolving user queries. 

Vinagre is a little better with pointers to the project’s IRC channel along with a Bugzilla page and the lead developer’s email address on the project’s homepage at Gnome.org. The client has a Help section that will familiarise users with the key features and basic operations. You can also discover more information about its features and usage on external sources such as the Ubuntu wiki.

Similarly, Remmina’s website lists the features of the main client along with those that are added via plugins. There’s also a handful of screenshots and a barebones FAQ that answers some commonly asked questions on how to use application.

Verdict

  • RealVNC: 5/5
  • Remmina: 3/5
  • TigerVNC: 2/5
  • TightVNC: 2/5
  • Vinagre: 2/5

VNC isn’t the only protocol in town for accessing the remote desktop and you can use a few applications in this feature to connect to other ones. However, RealVNC, TightVNC and TigerVNC only support the VNC protocol. Both TigerVNC and TightVNC have a server as well but the latest version of the TightVNC server is only available for Windows, and along with the desktop client, the version for Linux is for an older, unmaintained incarnation.

Similarly, RealVNC only supports the VNC protocol which it can tunnel through via SSH, but it’s the only client in this feature that has its own dedicated branded clients for the Android and iOS mobile platforms. 

However, GlavSoft, the developer of TightVNC, has created the app Remote Ripple for use with its VNC servers both for Android and iOS.  

Unlike some of the other clients, RealVNC has a multiplatform server component and works best when its own clients are paired with the server.

Vinagre by contrast can connect using the SPICE, RDP and SSH protocols as well as VNC. The client doesn’t run on any other platform besides the Linux desktop and neither does it have any clients for mobile platforms. It also has no server component of its own but works best when paired with the default VNC server for Gnome, Vino.

Similarly, in addition to VNC, Remmina supports other common protocols for accessing remote desktops including SSH, RDP, XDMCP, NX, and SPICE. It too doesn’t have a server of its own, nor any clients for mobile platforms.

Verdict

  • RealVNC: 4/5
  • Remmina: 3/5
  • TigerVNC: 2/5
  • TightVNC: 1/5
  • Vinagre: 3/5

Some of the applications in this feature offer several tweakable options to help you get the most out of your connection. Some, like TigerVNC, TightVNC and Vinagre, don’t offer any real configurable parameters besides the ones that are available during an active connection. For what it’s worth though, TigerVNC enables you to save configuration information for individual connections into separate files that can be loaded on subsequent connection, or from a different client computer.

The TightVNC interface makes passing VNC connections via SSH tunnels very straightforward. Similarly, you can use Vinagre to enable JPEG compression if the VNC server supports it. The application also enables you to specify the colour depth to be used for the connection.

In contrast, both Remmina and RealVNC offer a good amount of control over the respective application’s behaviour. Remmina houses default remote connection settings under its Preferences window. Here you’ll find options to tweak some auto-save settings for the connections, and define custom hotkeys for common tasks. You can also alter a few aspects of the client’s behaviour and define a list of resolutions for the remote desktop.

RealVNC allows you to change several aspects of the viewer. You can share the printer on your local machine as the default printer on the remote VNC server which is a very useful feature. Security conscious users will also appreciate the privacy options where you can set a master password for the viewer to protect it from unauthorised use. The Preferences window in RealVNC also gives you access to the Expert parameters to tweak the server’s behaviour.

Verdict

  • RealVNC: 4/5
  • Remmina: 3/5
  • TigerVNC: 2/5
  • TightVNC: 2/5
  • Vinagre: 2/5

During an active remote desktop session, you can ask Vinagre to stop sending keyboard and mouse input to the remote desktop to turn it into a view-only session. Vinagre’s interface also includes a keyboard shortcut to send (Ctrl+Alt+Del) and another to take a screenshot. You can also bookmark an active connection for quick access on subsequent connections, but you can’t alter the colour depth during an active connection.

RealVNC is a little better as it enables you to tweak some connection options via a dedicated window. Like some of its peers, RealVNC uses a panel for accessing features such as the file transfer and chat which hides itself when not in use. Alternatively, you can press the F8 key to display these options. Expert users can alter aspects of the VNC connection by going to the Expert tab.

The other three clients all allow you to change the encoding and colour format on the fly. TightVNC includes a toolbar at the top of the window with buttons to send keys such as Alt and Ctrl to the remote server. You can also disable clipboard transfer and alter how the mouse cursor is traced, and the shape of the local cursor.

As with RealVNC, you can press the F8 key in an active session in TigerVNC to bring up a menu for viewing connection data and toggling the Ctrl and Alt special keys. You can also change the colour level and encoding of the connection and convert the session into a view-only one.

Finally, Remmina has a tabbed interface for managing multiple remote sessions from a single window. When connected, there are buttons for common tasks, such as switching to full-screen or scaled mode. You can also change the quality of the connection on the fly and send keyboard commands to the remote desktop.

Verdict

  • RealVNC: 3/5
  • Remmina: 4/5
  • TigerVNC: 4/5
  • TightVNC: 4/5
  • Vinagre: 2/5

Rating applications with very similar features and capabilities is never an easy task. Instead of picking an outright winner, we have tried to work our way to the top by a process of elimination. TightVNC is the first to rule itself out as the Java-based client feels out of place on the Linux desktop – even more so as its corresponding server is available for Windows only.

Next up are Remmina and Vinagre which are very similar in that they both offer support for multiple protocols besides VNC, and don’t require specific server software. Vinagre just gets the job done without much ado and performs surprisingly well. However, the client doesn’t offer the same flexibility as the others during an active session which is a shame.

Similarly, Remmina scores decently in the performance department and gives you the flexibility to change connection quality settings on the fly. The client supports the widest range of protocols and will connect to all kinds of remote desktop servers. Remmina doesn’t have its own server software, but you can use it for all sorts of remote connections to all kinds of servers. Sadly, Remmina lacks some extra functionality that you get with other clients such as the ability to transfer files.

If transferring files is imperative to your remote access, then there’s no better option than RealVNC. The client performs decently with other servers but works best when paired with its own. We recommend it for remotely accessing all kinds of graphical work on the Pi, especially if you use the Raspbian distro, particularly as the server software now comes preinstalled in Raspbian.

That leaves us with TigerVNC. The client performs well irrespective of what type of VNC server is at the other end. Its only downside is a lack of mobile clients and the fact it doesn’t allow you to copy files. This said, ferrying files and instant messages aren’t the primary functions of a VNC. TigerVNC’s open source credentials, intuitive interface, and exemplary performance during an active connection make it a very capable VNC client for all kinds of remote desktop tasks.

1st Place: TigerVNC – its open source credentials and performance are its hallmark.

Overall score: 5/5

Web: www.tigervnc.org

2nd Place: RealVNC – the go-to solution for remote desktop access on the Raspberry Pi.

Overall score: 4/5

Web: www.realvnc.com

3rd Place: Remmina – multi-protocol remote desktop client that performs well.

Overall score: 3/5 

Web: www.remmina.org/wp

4th Place: Vinagre – a multiple-protocol client that lacks the control offered by its peers.

Overall score: 3/5

Web: http://bit.ly/ProjectVinagre

5th Place: TightVNC – its biggest turn off is the focus on those Windows platforms.

Overall score: 2/5

Web: http://tightvnc.net

There are several other remote desktop clients and solutions that you can use besides those we've discussed. While we’ve only covered the most popular and actively developed VNC clients, there are other alternatives such KDE’s Krdc, TurboVNC, and x11vnc. Also as previously noted, VNC isn’t the only remote desktop protocol in town. Another popular one is the proprietary protocol NoMachine NX.

If you aren’t averse to proprietary solutions there’s also the TeamViewer client and Google’s Chrome Remote Desktop tool. 

iTALC (intelligently teaching and learning with computer) is also an open source solution for remotely accessing, controlling and managing classroom computers using VNC’s RFB protocol.

If you care more about security than sheer nippiness then you can just enable X11 forwarding over SSH. This will display only one application at a time.

Leave a Reply

Your email address will not be published. Required fields are marked *