What free Remote Desktop (server) solutions are there?

I'm using right now FreeNx in production, and in the past our company has been a NoMachine customer. We use FreeNX on the server and the proprietary but free NoMachine client on the desktops (both Ubuntu and Windows).

The relationship isn't complex, NoMachine had a proprietary product (free as in beer up to 3 users) but releases the back-end stuff as open source. FreeNx is build with this back-end and is always somewhat less polished, and a couple of versions behind the NoMachine server. NoMachine has announced on December 21th 2010 that the next version it's NX technology (NxServer 4) will be close source only.

x2go was another company that build a open source product based on NoMachine open source libs.

Finally, Google has released NeatX, a complete independent implementation of the NX protocol. It's far from complete but usable, and totally open source.

So, recap you needs:

  1. Security: They all are SSH connections. Tick.
  2. Efficiency: Right now I'm tunnelling Windows RDP sessions in NX and having better speeds than naked RDP. Tick.
  3. Free-ness as in speech. FreeNX, NeatNX, tick. NxServer. Fail.
  4. Free-ness as in beer: NxServer up to 3 users
  5. Ease of use: NxServer is very easy to setup and administer. Others are worse on the server side. FreeNx is on the official repos.
  6. Cross-OS client: I haven't found a decent Andriod client. Great clients for all main desktop OSes and a java-based one that can be embeded on a web.
  7. Cross-Os server: Nope. NxServer can tunnel RDP sessions, but doesn't work on windows.
  8. Independent and shared sessions: Tick.

I stumbled upon this while researching xrdp, which is the only one you mentioned that I haven't used. Some observations:

NX Server: not so speedy (v3, still awaiting v4), might pose performance issues depending on your environment. The Qt-based client software is clunky but better than any open source implementations. Can't share a user's session remotely.

FreeNX: similar to NX Server, not the fastest, no opensource client software worth mentioning. I used this for 16+ months. Can't share a user's session remotely.

neatx: has some showstopper bugs, eg. the session disconnect bug that won't let you login again using the same login credentials if your session fails (clear temp files using another login, then it works until your next failure). This is a 1+ year old bug IIRC. I used this for 10+ months. Can't share a user's session remotely.

VNC: ultra slow, no inbuilt security, however the client software options are pretty good for *nix/Windows platforms. No good VNC server for OSX yet. Unique selling point: CAN see a user's screen. Sufficient for remote desktop support but nothing else. Used this at a Windows "managed services" shop for the past few years, mostly K-VNC (enterprise) and UltraVNC servers.

x2go: fast, polished, the best so far. Supports remote audio, printing, clipboard etc. Can't share a user's session remotely.

I'm about to give xrdp a shot because I dislike installing more stuff on fragile Windows systems, and I always end up working on the darned things. Cheers.


I'm very fond of X2Go. XRDP wouldn't let me do anything such as mounting USB drives or changing system settings. X2Go meets my needs perfectly and I'm going back & forwards between Windows 8.1 and Kubuntu 14.04

Setup is a breeze on *Ubuntu and the Windows client works very well. You'll have to manually set a screen resolution from within *Ubuntu once your first connection is established and then the Windows client can automatically readjust the size flawlessly from there.

Related cioby23's answer in Unable to install FreeNX Server on Ubuntu Trusty. Alternatives?