Coming from Windows, so that is what my expectations are based on. I have a Ubuntu desktop edition instance running as a virtual machine on a server. I would like to use it as my primary open source dev environment but the VNC tools I have used don't seem to be as rich as "Remote Desktop Connection" in Windows.

The two things that are missing for me:

connecting/logging into a non-console user sessions

dynamically resizing the graphical resolution based on the size of the remote desktop window

device sharing (USB devices plugged into client shared with remote)

Is there an appropriate client that I can run on Windows to connect to my ubuntu dev instance that provides these capabilities?

doesn't seem to run as a service on the ubuntu machine so not really a great option, also looks like their linux client is implemented via wine, a native implementation of something would probably be much nicer
–
spoon16Nov 11 '10 at 19:59

I agree that this is an entirely suboptimal solution for Ubuntu. There are better, freer alternatives.
–
ayan4m1Nov 11 '10 at 23:09

That is true, but if you want inter compatibility between different systems it is a good solution, as VNC is, but offer better features. I understand that the look&feel is also important, but look&feel is never a feature, at most is a "nice to have"
–
OpenNingiaNov 15 '10 at 9:12

NoMachine NX is likely the most complete version and the reference implementation. It's open core software. The main libraries are free (FreeNX is built over them), but the main product is closed source. It free (as in beer) for up to three simultaneous clients.

NeatX is a new implementation that google is backing. It's neat but lacks important features.

The only client that works in windows that I know is the NoMachine one. You can download it from their site, it's free but closed source.

tsclient is an Ubuntu RDP/VNC client which has a similar look and feel to mstsc, the Microsoft Terminal Services Client, in Windows.

It can do both VNC and RDP, and you can set it to run fullscreen, at a specific size, or windowed (based on the size of the remote display).

As for remote desktop USB sharing, tsclient is capable of sharing your hard drive with the remote system, so you can do file copies, but it won't share arbitrary USB devices. For that matter, the only piece of software I was able to find that is capable of such a thing seems to be commercially licensed.

One more solution is to use VirtualBox as a virtual machine system. It has a Windows-standard RDP server built-in. I am not sure if it provides the features you've mentioned, but it can be worth a try.

Also don't forget that you can run your graphical applications remotely with just a command in your local shell:

ssh -Y server command

If you've got a good bandwidth between your server and home, this can provide you with nearly a seamless experience. I even use it to run Win32 apps with wine on my virtual server and have their GUI on my laptop.