xrdp

xrdp screenshot

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

3 thoughts on “xrdp”

  1. Great post, thank you. I have scoured the Ubuntu forums and man pages, but cannot figure out how to extend the idle time limit. My sessions disconnect after 5 minutes of idle time (I am using Remote desktop from Win 7 to connect to Ubuntu 12). The /etc/xrdp/sesman.ini file has an option for “IdleTimeLimit”, but the default is “0” and should disable idle time outs. I have tried changing the setting to large numbers but this has no influence on the behavior of my sessions. The man page states under theses options “-this option is currently ignored!-“. I am not sure what this means or why there would be an option that does nothing. Would you know how to make these options not ignored?

  2. I used settigs as
    [Sessions]
    MaxSessions=100
    KillDisconnected=0
    IdleTimeLimit=0
    DisconnectedTimeLimit=2400
    It works fine;)

Leave a Reply

Your email address will not be published. Required fields are marked *