Home > linux, tools > 15 Remote Desktop Solutions for Linux.

15 Remote Desktop Solutions for Linux.

There are a wide range of remote desktop applications that are available that can be used to connect to Windows environment but there aren’t too many that can be used to remote desktop from Linux to Linux or Windows to Linux. With this I mean, getting entire desktop of remote Linux environment on your local workstation.


Most people who are used to a Unix-style environment know that a machine can be reached over the network at the shell level using utilities like telnet or ssh. And some people realize that X Windows output can be redirected back to the client workstation. But many people don’t realize that it is easy to use an entire desktop over the network. There are a several of open source applications that can be used to achieve this.

1)  VNC (Virtual Network Computing) is a remote display system which allows the user to view the desktop of a remote machine anywhere on the internet. It can also be directed through SSH for security.

Basically you install VNC server on the server and install client on your local PC. Setup is extremely easy and server is very stable. On client side, you can set the resolution and connect to IP of VNC server. It can be a bit slow compared to Windows remote desktop and also has the tendency to take more time refreshing over low-bandwidth links. All in all VNC is an amazing piece of free software that gets the job done.

There is RealVNC , TightVNC and UltraVNC. Each has it’s advantages and disadvantages. Most popular one is RealVNC but if you’re upto it, experiment with all three and choose the one that works for you best. By default, communication between client and server is in clear text on port 5900. However, you can easily route all traffic via SSH tunnel. Here is a quick way of setting it up if you have access to command line shell:

ssh -ND 5900 <user>@remote.server.com

When you get prompted, enter your password. Pop open VNC client and connect to ‘localhost’. This’ll route your connection to VNC server on remote machine.

You can download VNC from:

2)  Then there is FreeNX. FreeNX is a system that allows you to access your desktop from another machine over the internet. You can use this to login graphically to your desktop from a remote location. One example of its use would be to have a FreeNX server set up on your home computer, and graphically logging in to the home computer from your work computer, using a FreeNX client. It provides near local speed application responsiveness over high latency, low bandwidth links.


FreeNX can be configured to run via SSH without any tunneling. It binds to your existing SSH install. Instead of guiding you through the installation of FreeNX in this article, you can visit the following URLs that’ll guide you through the installation on Ubuntu:

3) The third free application is 2X Terminal Server for Linux. 2X TerminalServer for Linux is an Open Source project, licensed under the GPL and is free of charge. As far as performance goes, NoMachine’s technology is on par with Windows’ own Remote Desktop Protocol (RDP) suite, better than VNC. Both X2 and FreeNX is based on NoMachine technology.

Here are some quick links if you’re interested in using this software:

4) Then there is is XDMCP. The X Display Manager Control Protocol uses UDP port 177. Compared to the list above, it’s not as easy to setup for remote desktop but it’s the original way of doing this on Linux. You can get setup instructions and other tips in the following URL:

5) CygwinX. A complete Linux emulation on Windows. You’ll find every tool and app that you have on Linux on Cygwin.

6) XRDP. RDP server that runs on Linux, thus allowing you to use Windows Remote Desktop Client or rdesktop to connect.

7) x2vnc – great little utility that allows you to tie a linux and windows (or anything that can run the vncserver) together with a ingle keyboard/mouse, avoiding the need for a switcher box. Mousing cross screens transparently switches between machines, and cut and aste works.

8 ) Xming – t’s a great and lightweight implementation of X11 for Windows that allows you to connect to a Linux box.

9) KDE Desktop Sharing (formerly krfb) – part of KDE since version 3.1. It is located in the kdenetwork package. If your distribution splits the KDE applications into separate packets, you may find the client as ‘krdc’ and the server as ‘krfb’. Also uses VNC technology.

10) X-Win32 – Top rated PC X server solutions for Windows PCs connecting to remote Unix and Linux host systems. Works well over SSH.

11) Single Click UltraVNC – In case you would like to remote control without any software installed on the target computer you need UltraVNC SC. The user on the to be controlled computer needs to simply click on a web page and remote controlling begins.

12) CrossLoop – CrossLoop is a FREE secure screen sharing utility designed for people of all technical skill levels. CrossLoop extends the boundaries of VNC’s traditional screen sharing by enabling non-technical users to get connected from anywhere on the Internet in seconds without changing any firewall or router settings.

13) Thinstation – Although not a remote desktop app but worth mentioning here. Thin client linux distro for terminals using std. x86 hw. It can boot from network, pxe, syslinux,loadlin, CD, floppy or flash-disk and connect to servers using VNC, RDP, XDM, SSH and etc.

14) rdesktop – an open source client for Windows NT Terminal Server and Windows 2000/2003 Terminal Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user’s NT desktop. rdesktop currently runs on most UNIX based platforms with the X Window System, and other ports should be fairly straightforward.

While you’re at it, get grdesktop from (http://www.nongnu.org/grdesktop/). It is a GNOME frontend, for rdesktop. It can save several connections (including their options), and browse the network for available terminal servers.

15) ssh -X – You can check out this great article written by a slashdot user sometime ago.

Windows to Mac / Mac to Windows

1) RDP Client for Mac allows you to connect to a Windows-based computer and work with programs and files on that computer from your Macintosh computer.

2) OSXVnc – Vine Server is a full featured VNC server for Mac OS X providing remote access to the GUI, keyboard and mouse using Vine Viewer or any other VNC client.

3) Chicken of the VNC – A VNC client allows one to display and interact with a remote computer screen. In other words, you can use Chicken of the VNC to interact with a remote computer as though it’s right next to you.

Unfortunately I was not able to find too many available to connect to Mac from Windows other than VNC. I think Windows need to support RDP into Mac. Many people would benefit from this.


If I am missing anything from the list, please let me know.

Categories: linux, tools Tags:
  1. MPS
    February 10th, 2010 at 05:16 | #1

    XDMCP should not be used over the Internet because login credentials are sent in plain text.. X shouldn’t be used over the Internet because it sends all communication eg. key entries in plain text.

    NX, VNC with SSH tunneling, and SSH X forwarding (2, 1, and 15) are secure over the Internet.

  2. Martin
    February 10th, 2010 at 08:06 | #2

    Great post and blog overall, keep up the good work 🙂

  3. February 10th, 2010 at 09:11 | #3

    I didn’t see NoMachine mentioned next to FreeNX.

    IMO, NoMachine packages are way easier to install and use than what FreeNX have.

  4. Golodh
    February 10th, 2010 at 09:43 | #4

    Well… it’s useful to have a list, but it would be even more useful to have a decent comparison (e.g. by feature) and a ranking than just a list.

    Besides, when you need a remote desktop application, you need only one: the one that best suits your needs. Having a dump of 15 alternatives (half of which show up in a Google search on “remote desktop for linux” isn’t all that helpful. Quality, not quantity, is what’s needed.

    In my experience VNC works, and works cross-platform as well (I think the author was right to put it in first place). However, for connections between MS Windows machines it is slower and less crisp and polished than straightforward “mstsc” (meaning it probably can be improved, at least for Windows-Windows connections). For connections between a Windows client and a Linux server, VNC does have its merits but between Windows machines mstsc is much better.

  5. The Garage
    February 10th, 2010 at 11:35 | #5

    Can’t believe you missed x11vnc. It’s my favorite vnc solution for a linux vnc server. Lightweight & fast.

  6. Phil
    February 11th, 2010 at 00:14 | #6

    I’ve always liked just keeping it simple, ssh -X for me. I’ve used it from my netbook to desktop, at work from various Red Hat machines to each other. Heck, my son even used it from his MacBook to my Ubuntu machine to run a windows program with wine. (now that was fun)

  7. Roger Roelofs
    February 11th, 2010 at 00:31 | #7

    Macs running 10.3 and later have a vnc server built in. You can find in the ‘Sharing’ preference pane.

  8. faustus
    February 11th, 2010 at 05:49 | #8

    The Garage :
    Can’t believe you missed x11vnc. It’s my favorite vnc solution for a linux vnc server. Lightweight & fast.

    Totally agree 🙂

  9. February 22nd, 2010 at 08:36 | #9

    An alternative I know is RHUB remote desktop, where you don’t even need to have a VPN. It uses an advanced security feature that blocks access by IP address. This is in addition to its firewall protection, which is highly secure.

  10. February 24th, 2010 at 10:00 | #10

    But there is always a risk of possible security breach when you connect to remote PCs with hosted solutions. A solution like RHUB remote desktop appliance would be much better. In addition to on-premise security, it provides stringent access security. You can even lock your remote PC as extra security. No inbound TCP ports need to be opened to access a remote system. Though its not free, they do have free trial.

  11. A. Davis
    July 22nd, 2010 at 10:08 | #11

    For the Mac and RDP, there’s also the excellent tool CoRD. I use it all the time to manage my Windows servers from a Mac. It has less bloat and issues than the MS RDP client and is updated more quickly for newer versions of OS X than the MS client is.

  12. A. Davis
    July 22nd, 2010 at 10:09 | #12

    Oops… forgot the link: http://cord.sourceforge.net/

  13. A. Davis
    July 22nd, 2010 at 10:09 | #13
  14. November 2nd, 2010 at 16:05 | #14

    Another RDP frontend for linux rdesktop is Gnome-RDP. I’ve been using this with Linux Mint. However, as with grdesktop it doesn’t have options to see or edit the rdesktop command line before opening a connection to the windows machine. I’d really like to be able to map a local linux path to the windows RDP session which is possible with rdesktop, but’s it left out of these GUIs for rdesktop.

  15. Joe
    November 5th, 2010 at 19:57 | #15

    What about GO-Global? Cross platform and has Unix, linux and Win solutions… have you tried it?

  16. November 5th, 2010 at 22:09 | #16

    I thought you might find this project appropriate; PC TSC uses Tiny Core Linux and rdesktop to turn a PC, even a rather old PC, into a working terminal server client, as easily as possible. Works very well.

  17. December 6th, 2010 at 15:50 | #17

    Maybee erd is also a good choice. It’s easy (browser based) and closs platform built on JavaFX.
    You can find it on: http://erd.riapp.eu

  18. Oleg Krutov
    December 7th, 2010 at 04:41 | #18

    The most useful and handy RDP/VNC client for linux I’ve ever seen is Remmina. Being FreeRDP-based in its RDP part, it does not have any rdesktop’s keyboard layout switch issues. It has also very nice settings for each connection including SSH tunneling settings.

  19. December 8th, 2010 at 19:40 | #19

    Another one is http://remmina.sourceforge.net It’s also open source

  20. dejan
    January 29th, 2011 at 18:24 | #20

    what about freerdp?

  21. Alex Marke
    May 28th, 2011 at 15:27 | #21

    http://www.crystalballmobile.com is a java web based remote desktop solution so it can virtually run everywhere.

  22. July 16th, 2011 at 05:57 | #22

    VNC on Linux can be used in one of the two ways:

    * To create persistent desktops for specific users
    * To provide desktops on demand for VNC connections
    Both types of remote access can be active on the same system at the same time.
    In the first case you explicitly configure a desktop for each user. Users may disconnect and reconnect from their desktops at any time. When they reconnect to a VNC desktop they find it exactly as they left it.
    If you enable the second type of configuration, the system creates and drops desktops as users connect and disconnect. With this method, any user that has a valid account on the system may login via VNC. Convert videos Ubuntu :

  23. Dheeraj
    September 26th, 2011 at 17:36 | #23

    How come Synergy is not on the list. It is the best way to connect between WIndows, Linux and Mac all at the same time.

  24. November 16th, 2011 at 16:49 | #24

    X2Go is IME more reliable and faster to all the VNC and NX-based alternatives. Also close in terms of speed and functionality is RDP on Windows.

  25. January 17th, 2012 at 16:50 | #25

    The viewer that comes with Gnome, Remote Desktop Viewer, Vinagre, http://projects.gnome.org/vinagre/, is pretty nice. Allows you to create bookmarks to frequented systems and can handle both VNC and RDP connections, so it’s dual purpose in being able to connect to VNC servers and also windows servers too. It also has a sidebar for quick connections and can toggle nicely between fullscreen views and scaled down ones. Highly recommend it.

  26. January 17th, 2012 at 16:58 | #26

    There’s also freerdp, main site: http://www.freerdp.com/ github: https://github.com/FreeRDP/FreeRDP. This is an excellent client for connecting to RDP servers such as windows. Big note here: you can setup xrdp on a linux box and use this client to connect to it using RDP instead of VNC. This works very well. I can’t recommend freerdp enough. I use it every day to connect to windows servers I manage and it’s fast and reliable. Supports Network Level Authentication (NTLMv2) as well as FIPS.

  1. February 8th, 2010 at 08:02 | #1
  2. February 8th, 2010 at 19:53 | #2
  3. February 10th, 2010 at 07:18 | #3
  4. February 10th, 2010 at 12:31 | #4
  5. February 11th, 2010 at 11:54 | #5
  6. February 11th, 2010 at 12:07 | #6
  7. February 12th, 2010 at 15:04 | #7
  8. February 14th, 2010 at 21:42 | #8
  9. January 28th, 2011 at 10:48 | #9
  10. July 19th, 2011 at 11:55 | #10
  11. July 29th, 2011 at 12:07 | #11
  12. January 19th, 2012 at 11:03 | #12