Install xrdp on CentOS 7 / RHEL 7


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.


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 ( 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

4. Add nux repository.

Automatic (recommended)

rpm -Uvh


Create a repository file.

vi /etc/yum.repos.d/xrdp.repo

Place the following content. Once added, save and close the file.


Install xrdp on CentOS 7

Use YUM 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
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

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


tcp        0      0  *               LISTEN      1508/xrdp
tcp        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. The 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.

Install xrdp on CentOS 7 - xrdp MSTSC
Install xrdp on CentOS 7 – xrdp MSTSC

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”.

Install xrdp on CentOS 7 - xrdp Login page
Install xrdp on CentOS 7 – xrdp Login page

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

Install xrdp on CentOS 7 - xrdp Desktop
Install xrdp on CentOS 7 – xrdp Desktop

That’s All. You have successfully configured xRDP on CentOS 7 / RHEL 7. We welcome your comments.

You might also like

Install xrdp on CentOS 7 / RHEL 7