xrdp is an Open Source Remote desktop Protocol server, which allows you to RDP to your Linux server from Windows machine; it is capable of accepting connections from rdesktop, freerdp, and remote desktop clients. This how to will help you to setup xrdp server on CentOS 7 / RHEL 7.
Prerequisites
1. This post was written when xrdp is available neither on CentOS repositories nor EPEL repository, after a lot of Google search; I found desktop repository (http://li.nux.ro/) which was having xrdp for CentOS 7 / RHEL 7. We need to manually setup the repository on CentOS 7.
2. Don’t forget to install Gnome on CentOS 7
3. Install and configure EPEL repository.
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
4. Add nux repository.
Automatic (recommended)
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
Manual
Create a repository file.
vi /etc/yum.repos.d/xrdp.repo
Place the following content. Once added, save and close the file.
[xrdp] name=xrdp baseurl=http://li.nux.ro/download/nux/dextop/el7/x86_64/ enabled=1 gpgcheck=0
Install xrdp on CentOS 7
Issue the following command to install xrdp
yum -y install xrdp tigervnc-server
You will get the following output, make sure you are getting the package from the newly created repository.
--> Running transaction check ---> Package xrdp.x86_64 0:0.6.1-2.el7.nux will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: xrdp x86_64 0.6.1-2.el7.nux xrdp 271 k Transaction Summary ================================================================================ Install 1 Package Total download size: 271 k Installed size: 1.5 M Is this ok [y/d/N]: y Downloading packages: xrdp-0.6.1-2.el7.nux.x86_64.rpm | 271 kB 00:05 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : xrdp-0.6.1-2.el7.nux.x86_64 1/1 Verifying : xrdp-0.6.1-2.el7.nux.x86_64 1/1 Installed: xrdp.x86_64 0:0.6.1-2.el7.nux
Once it is installed, lets start the xrdp service.
systemctl start xrdp.service
xrdp will listen on 3389, lets confirm this by issuing following command.
# netstat -antup | grep xrdp
Output:
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN 1508/xrdp tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN 1507/xrdp-sesman
By default, services wont auto start after system reboot. Issue the following command to enable the service at system start up.
systemctl enable xrdp.service
Next is to create iptables rule to allow RDP connection from the external machines, following command will add the exception for RDP port (3389).
firewall-cmd --permanent --zone=public --add-port=3389/tcp firewall-cmd --reload
Configure SELinux
# chcon --type=bin_t /usr/sbin/xrdp # chcon --type=bin_t /usr/sbin/xrdp-sesman
Test Remote Connectivity
Now take RDP from any windows machine using Remote Desktop Connection, enter the ip address of Linux server in the computer field and click on connect.

You would be asked to enter the user name and password. You can either use root or any user that you have it on the system. Make sure you use module “sesman-Xvnc”.

If you click ok, you will see the processing. In less than a half min, you will get a desktop.

That’s All. You have successfully configured xRDP on CentOS 7 / RHEL 7. We welcome your comments.
1 Comment
XRDP and xfce
Quote
Postby JDAIII » 2015/02/10 22:29:00
So I have used the method of installing tigervnc-server and xrdp in order to allow users to rdp into a centos 7 server. What I need to do now is get the rdp to default to xfce for the users.
Question is, I have gnome and xfce installed side by side and I want the rdp to default to xfce. how would this be done? I can log in at physical workstation with xfce or gnome perfectly fine if I select it one the login screen, but can’t seem to get the rdp to default to xfce for users logging in via rdp. It always defaults to gnome.
I tried:
1. placing startxfce4 at the front of the list in /etc/xrdp/startwm.sh (didn’t work)
2. commenting out wm_start and placing startxfce4 in it’s place (didn’t work)
3. Created a ~/.xsession file and populated it with startxfce4 (didn’t work)
Also, if there is another method of enabling rdp from windows machines to the server which will default to the xfce DE, that would be great! But for the time being, I’m going with what has always worked with me since I don’t mind gnome.
I’ve found this solution:
Code: Select all
nano ~/.Xclients
Then copy & paste:
Code: Select all
#!/bin/bash
XFCE=”$(which xfce4-session 2>/dev/null)”
exec “$XFCE”
Make it executable:
Code: Select all
chmod +x .Xclients
And restart the xrdp server:
Code: Select all
sudo service xrdp restart
I still have no idea how to make it default to all users.
Source: http://qiita.com/tukiyo3/items/38b53f3c6a9970cfafe4