Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

One of the good (few) features windows has is it's RDP protocol implementation. This wonder allows me to work with my 2 screen setup in the office, then drive home, open a VPN connection followed by RDP connection to the office PC from home and get my environment exactly as I left it (except from the screen resolution which adapted to my home PC screen hardware).

The above works, and it works great - On Windows. I want the same feature on Linux. I want to be able to open a Gnome / KDE / (other windows manager supports this feature) at the office computer then connect from home and have the displays exported to my current screen.

I've tried several possible work around like having a VNC session constantly open and connecting to it both from work and from home - This works but is no fun (you lose the responsiveness of the "native" application, access to local storage and co.).

Could you suggest a solution? Perhaps some Xorg plugin ?

Thank you for reading, Maxim.

share|improve this question

Yes, the Xorg module allows you to share your :0 (local) display. In /etc/X11/xorg.conf in the "Module" section add

    Load "vnc"

and in the "Screen" section add:

    Option "SecurityTypes" "VncAuth"
    Option "UserPasswdVerifier" "VncAuth"
    Option "PasswordFile" "/root/.vnc/passwd"

Do explore other options for "UserPasswdVerifier." The VNC server will listening on tcp port 5900. Even using a VPN I would not directly connect to the port. Block all non-localhost access and use an SSH tunnel.

share|improve this answer

Check into NX. I usually open a new session on NX, but it might be possible to use your primary one.

Edit: The feature is called Desktop sharing and is described in the server admin manual.

share|improve this answer

Ubuntu allow desktop sharing, and I expect most distributions now have it. This can be invitation based or password based. In your case I expect you will want password based. Connection is via a VNC client. There is a browser based client that can be used when you don't have a client on the system you are connecting from.

share|improve this answer

As @SvenW has pointed out, NX is probably your best bet. Once you have it up & running correctly (which can be.. difficult), you have the ability to "suspend" a session from your Work PC and then login from home to "restore" the same session. A couple of caveats:

  1. The NoMachine NX Client claims that it can scale your session resolution appropriate to your actual hardware. However, I have actually yet to be able to get this to work - for example, starting a session with 32-bit colour and then attempting to restore the session when running at 16-bit colour depth will fail.

  2. Sharing your local drives via the NX client is based on SMB/CIFS and I had very little luck trying to get this to work correctly. The nearest workaround I can think of is mounting the remote filesystem via SSHFS locally and then dragging & dropping the files into the appropriate locations.

share|improve this answer

There are more than one vnc server, you can configure compression, etc

There is rdesktop and forks (rdp server), you can use ms terminal server clients with it.

X11 is a server/client protocol, ssh supports x11forwarding, xdmcp for remote logins (kdm, gdm,...)

nx : improves x11 protocol, it can also tunnel rdp and vnc

share|improve this answer
I'm sorry but you seem to not understand the topic: The problem here is not connecting a remote desktop from Linux to Windows but it have a "Remote desktop like" experience on Linux (with linux desktop). xrdp OTOH does seems interesting, funny how I missed it. – Maxim Veksler Aug 10 '10 at 17:10

Your Answer


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.