What a pain in the ass. You would think that the only open source implementation of RDP server would have more notoriety. Ubuntu supports xrdp quite well, but support outside of Ubuntu seems to be nonexistent for whatever reason. Xrdp support seems to have been dropped for CentOS beginning with version 6.
All of my other machines are Windows, so it seemed like a good idea to have a network display interface that all of them could talk to the linux box with. Having an RDP server right on the linux machine means that the Remote Desktop Client already installed on all the Win7/Win8/Windows Server 2012 machines on my network can access this machine without having to install some strange flavor of VNC.
Some people seem to think that xrdp is no longer maintained, however they recently merged with the FreeRDP project, and the xrdp package is actively maintained in Ubuntu… just not CentOS/RHEL universe. There was a pull request not 3 hours ago on their github.
Anyways, let’s go on. My box is a $150 newegg special atom-powered nettop, which means it’s i686 with no vt-x/vt-d support. My instructions differ slightly from this guy’s but not by much. You can use the x64 files but I’m not sure if they improve your experience any. I’ve also corrected some of his typos. In addition to CentOS 6.4, this will work with Scientific Linux 6.x and RHEL 6.
So this is basically four phases.
- Install/Update RPMs
- Install dependencies
- Install old 0.5.0, then compile 0.6.0 on top of that
- Manual configuration of xrdp
What a huge pain. But totally worth it. Full instructions below the cut.
#rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
#rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
#yum -y update
#yum install -y xrdp tiger-vncserver autoconf automake libtool openssl-devel pam-devel libX11-devel libXfixes-devel
Download the latest version of xrdp. That’s probably going to be 0.6.0. Unzip/tar it to a folder on your desktop
#chmod u+x bootstrap
#chmod u+x configure
This will compile a bunch of stuff.
Fantastic. All the easy work is done, now let’s modify a bunch of config files manually.
#nano -w /etc/group
Now add these two lines to the group file. Note it is group, not groups.
Setting up the password for xrdp/vnc
Insert your password twice
To return root user
Edit VNC server files
#nano -w /etc/sysconfig/vncservers
Add to end of vncservers file. You can adjust the resolution from microsoft’s RDC app, but it’s good to have a resolution to start with.
VNCSERVERARGS=”-geometry 1355×768 -depth 16″
Edit another text file
#nano -w /etc/rc.local
Dump this line at the end on a new line
And then start up the service. Awesome. You shouldn’t need to muck around with the firewall, but if you do the port number is 3389
#chkconfig vncserver on
#service vncserver start
And… behold! Hopefully it was worth it.