Carl's blog

Linux/Unix (X) as an RDP (Remote Desktop Protocol) Server?

by on Dec.11, 2010, under Computer Stuff

Wow. This took me totally by surprise, and it seems to work very well. There’s no sound redirection or clipboard, but basically you connect to the Linux machine using an RDP client (Microsoft Remote Desktop Connection, or Terminal Server Client), and instead of getting a Windows logon box, you get an xrdp one. You choose a session and hey presto you have a Gnome or KDE session, through RDP!

It has two ways of working. The first, and easiest to get going, is that it uses vncserver (the VNC X Server) as the actual X server, and the xrdp program grabs the vnc display and RDPs it over to you. So you have the performance of RDP.
The other way is that it uses an RDP X server, so I suppose you could call that native X-RDP rather than VNC served RDP. This is a touch more complicated, and I was unable to get the svn version of the X11rdp Xserver to compile. There is a precompiled binary of what might be an old version at though.

The precompiled binary was the only way I could get X11rdp to work (that is native RDP – I got the vnc/rdp to work almost right away)

Let me clarify some points:

xrdp is the name of the project, and also the name of one of the binary files that deals with RDP and integrates with the VNC server and sends it to you through RDP.
X11rdp is the name of the special RDP Xserver that is another part of the project, which skips out vnc altogether. When you grab the (small) sourcecode off the project website, and do the make/make install, it will not build X11rdp.
X11rdp is also called “Xserver” within the project.
You will see in /usr/local/xrdp/sesman.log something like: “No such file or directory” if you are trying to use X11rdp server (sesman-X11rdp) but don’t have the X11rdp Xserver compiled/installed, or if you are trying to use VNC (sesman-Xvnc) but don’t have vncserver installed. VNC server will be provided by your distribution (Fedora, Ubuntu..) so is very easy to get. X11rdp is made by the xrdp project, so is not so easy, but the precompiled binary seemed to work OK for me.

The project’s website is very low priority, and does not reflect the true activity of the project.

The website is at

I’ve just had a look, and development activity is moving along well! I’m going to have another look at this!

5 Comments for this entry

  • Jaroslav Záruba

    I’ve been able to install this via apt-get install xrdp. (I’m too noob’n’lazy to ‘make’ stuff on Linux. 🙂
    What I like about xrdp is that it (quite obviously) behaves more like Remote Desktop:
    – I can connect to a machine where no one is currently logged on (I can’t do that with VNC, but maybe I just need some ?VNC-server? running as a service/daemon?)
    – I get resolution matching the machine I’m physically sitting by, while with VNC I was restricted to what the target machine has set up on it

    – some functions are disabled (I can’t unlock Login Screen preferences dialog)
    – I get only US keyboard layout 🙁

  • Marlon

    Hi Carl!

    Where i need to put the X11rdp?


  • Name

    Ever looked at NX, self contained X server + secure (ssh) access tooling for accessing unix systems from Unix/Windows.
    With sound/printer remote access integration.

    • Carl

      Hi! Yes I have. I’ve used both NX commerial/trial/freeware, and the GPL wrapper freenx. It’s really impressive, although graphics look a bit jpeggy lossy, and having to install the client can be a pain if you’re accessing from a stranger’s computer.

  • Baz

    Hi Carl!

    How did you get X11rdp working.
    I placed the bin file in /usr/bin/ bt am having errors with active screens.


Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!


A few highly recommended websites...