A Linux VPS is a powerful tool, but for those unfamiliar with navigating Linux with only a terminal, using a Remote Desktop Protocol (RDP) is a great way to visualize any operating system in a more familiar Desktop Environment.

There are many Linux Desktop Environments to choose from, this guide will detail how to install the Desktop XFCE via xRDP software on Linux OS.

There are four steps to set up xrdp:

  1. Install xrdp and desktop environment
  2. Instruct xrdp to start a session of the chosen desktop environment
  3. Allow xrdp in firewall rules
  4. Start the xrdp service

The following steps assume that you are logged in as root.

Step 1: How to Install xRDP and XFCE

Ubuntu 16.04:

apt-get update && apt-get install xrdp xfce4

Note: If your system has limited resources, LXDE is a recommended alternative to XFCE for Ubuntu systems - this environment is unfortunately not available in the official CentOS repos. For CentOS installation:

CentOS 7:

You will need to install epel-release before installing xrdp:

yum update && yum install epel-release

Now install xrdp:

yum install xrdp

For installing the Desktop Environment: 

yum groupinstall xfce

Step 2: Setting Linux Desktop Environment

In this step you will define which desktop environment is used with xrdp. 

Ubuntu 16.04:

echo "xfce4-session” > ~/.xsession

CentOS 7:

echo "xfce4-session" > ~./Xclients

Step 3: Configuring Firewall Rules for xRDP

Ubuntu 16.04:

ufw allow 3389

MAKE SURE YOU HAVE ALSO ALLOWED SSH BEFORE RUNNING THE FOLLOWING COMMAND!!! Or you will lose your connection to the server. 

ufw enable

CentOS 7:

The zone setting below is an example, you may need to set a different zone depending on your firewall setup. 

firewall-cmd --zone=public --add-port=3389/tcp --permanent

Step 4: Enabling xRDP service

Both Operating Systems:

systemctl enable xrdp && systemctl start xrdp

You now have a visual user interface for your VPS!

To access it from windows, simply search for the "Remote Desktop Connection" program and enter the IP address of your server to get connected.

From Mac, Microsoft Remote Desktop is a free third-party tool that works as needed.