XRDP

XRDP is a very interesting project. It allows to create a terminal server on Linux hosts using the RDP protocol. I think the RDP protocol is a great protocol (better than VNC) but that’s not why I’m writing this. The important thing about this tool is: It’s freaking simple to use.

On Debian, just type:

apt-get install xrdp -y

On Red Hat Enterprise Linux, just type:

yum install xrdp

Then, you have to start it:

/etc/init.d/xrdp start

And this is it, you can use it. You can connect dozens of clients without any difficulty.

Most of the projects depend on a single man. The man who gave this project a rebirth is Jay Sorg. He seems to be an expert of RDP and I can clearly understand why he got so interested by the protocol, just look at the its features.

Under the hood, it uses VNC (Xvnc) to actually get something from it.

“Ok, but I can do that with VNC.”. Well no, RDP allows you to :

  • Setup a terminal server very quickly
  • Choose the size of the terminal (640×480, 800×600, full screen, etc.)
  • Use an encrypted connection (still without any setup, it’s even done without your knowledge)
  • Use only one port (3389) for any number of simultaneous sessions

There’s only one pretty big limitation: It looks really ugly with KDE.

You should maybe change some of the settings, I personally changed the /etc/xrdp/sesman.ini file Sessions section to :

[Sessions]
MaxSessions=100
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=3600

Here is a quick look of what happens in a 640×480 remote desktop connection login:

login screen with ugly logo sesman loading the Xvnc session Session is loaded