For the uninitiated, RDP stands for Remote Desktop Protocol. And just like the expanded form suggests, it’s a protocol for a machine to accept remote desktop connections from other machines. XRDP is a server for CentOS 7 that implements this protocol and allows you to use different types of software to connect with your CentOS 7 server.
Before we move on, though, let us answer a natural question: why do XRDP when we have SSH sessions? A very good question, except that SSH vs. RDP is not really a debate. While SSH is based on a text-driven environment, RDP is concerned with fully graphical (GUI-based) control of your CentOS 7 machine. That means you can launch programs, send email, even play games, just as if you were sitting right in front of your machine.
The overall experience depends on your machine’s configuration and network performance, and is generally a bit clunky. But at times when you want someone (or yourself) to get behind the wheels and sort things out, there’s no beating the XRDP server.
Installing XRDP on CentOS 7
The first step is to install the EPEL repository so that its packages can be included into your system packages:
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# rpm -ivh epel-release-7-5.noarch.rpm
Then you need to update the yum package manager:
# yum update
The next step is to actually install XRDP. You’ll also need the tigervnc-server package:
# yum -y install xrdp tigervnc-server
Once done, you need to start the XRDP service and set it up to auto-launch when the system starts:
# systemctl start xrdp.service
# systemctl enable xrdp.service
Finally, if you’re using a firewall, you’ll need to add an exception for the port 3389, which is what XRDP uses:
# firewall-cmd –permanent –zone=public –add-port=3389/tcp
# firewall-cmd –reload
And with that, you have XRDP up and running on your CentOS 7 machine.