Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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!

share|improve this question
    
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)? –  Marco Ceppi Sep 13 '10 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 '10 at 12:37
    
If you finally use x2go I'll be very interested in your experiences. –  Javier Rivera Sep 13 '10 at 12:58
    
Last I checked, RDP wasn't secure - it didn't do host validation. –  Broam Sep 13 '10 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 '10 at 10:28
add comment

3 Answers 3

up vote 13 down vote accepted

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.
share|improve this answer
    
that's how an answer should be.+1 –  akshatj Sep 14 '10 at 4:11
    
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 '10 at 10:21
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.