35

I know Ubuntu comes with a "Remote Desktop" option that appears to be a straightforward VNC server, and I'm trying to understand the alternatives. Here are the possibilities I've heard about so far:

  • VNC
  • VNC + SSH Tunnelling
  • NX Server, free edition
  • FreeNX
  • NeatX
  • X2Go
  • X11 Forwarding over SSH
  • xrdp

I'm coming at this from a Windows user's perspective: To the best of my experience, RDP (aka Terminal Services) is a reasonably secure (barring mitm/server spoofing), efficient desktop sharing protocol with well-supported clients, that can be exposed to the internet when necessary without major fears of intrusion. To the best of my knowledge straight VNC is none of those things, which is where I get confused - why wouldn't a better desktop sharing technology be developed or used in the open-source world? I know VNC can be wrapped with SSH, but that seems beyond the reach of a casual user. X11 forwarding over SSH may be more or less efficient, I have no idea, but is definitely even more complicated, and doesn't (as far as I know) give you access to already-running stuff (no desktop sharing as such, just remote application running).

So, I'd like any feedback/preferences amongst these or any other "Free" desktop sharing options, using these criteria and/or any others:

  1. Security (esp. for access across internet)
  2. Efficiency (bandwidth usage, responsiveness, etc)
  3. Free-ness, as in Speech (not sure where RDP or FreeNX lie for this)
  4. Free-ness, as in Beer (are there any commercial solutions with usable dependable free offerings?)
  5. Ease of use (server and client side)
  6. Cross-OS Client availability
  7. Cross-OS Server availability
  8. Support for independent sessions and shared (and/or "Console") sessions
  9. Ongoing support/maintenance/development

Thanks!

5
  • There are two general notions with "RDP" there's remote login and Desktop Sharing both are covered in the "RPD" acronym. Are you looking to simply shared your desktop in an efficient way - or to be able to remotely log into your machine (and potentially support multiple users logging into the same machine)? Sep 13, 2010 at 11:43
  • Both! :) Thanks for the tip, I've added this to the list of criteria. I'm liking the look of x2go so far... it seems under active development (or at least active blogging), it appears to be open-source, it appears to be available for Ubuntu... I have yet to test it, I'll update this with info.
    – Tao
    Sep 13, 2010 at 12:37
  • If you finally use x2go I'll be very interested in your experiences. Sep 13, 2010 at 12:58
  • Last I checked, RDP wasn't secure - it didn't do host validation.
    – Broam
    Sep 13, 2010 at 22:01
  • Yep, fair enough - anything using SSH is more secure than RDP because of mitm/server spoofing protection; on the other hand, I think an end-user shouldn't need to worry about SSH tunneling - I understand it's very powerful, but it's also quite complex. Based on Javier Riviera's answer, it sounds like the SSH Tunneling is built into the NX protocol, which makes sense! (sorry, still haven't played with any of this, am not a day-to-day linux user...)
    – Tao
    Sep 15, 2010 at 10:28

4 Answers 4

23

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.
1
  • 1
    Thanks, that provides a lot of info! I hadn't heard of NeatNX, seems to add even more confusion :) - the main thing that scares me about FreeNX is that its development seems to be in jeopardy - there's no official development, there's no fork, there's just some maintenance by the Ubuntu packaging team, if I understand correctly. :(
    – Tao
    Sep 15, 2010 at 10:21
5

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.

2

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?

0

I have used VNC in the past, but since I got XRPD running well I have been using it. Installation is relatively simple on Ubuntu, and Windows is already setup.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .