How to set up a GUI (Xfce) and RDP on a Linux VPS

About this guide

One major noticeable difference between a Linux server and a Windows server is the fact that a Windows Server usually has a GUI, and a Linux server usually has no GUI.

This guide will talk you through the steps of setting up a GUI on your Linux VPS, as well as VNC and Xrdp so you can access the machine easily from your Windows machine without additional software.

The guide is written with Debian in mind but should also work on Ubuntu. I recommend having at least 256MB RAM on your machine, but preferably more than 512MB.

If you don’t have a VPS already, and are looking for something cheap yet reliable with high performance, I highly recommend Ramnode and you can read why here. If, on the other hand you just want a cheap Windows VPS, you can read my guide on how to add a Windows ISO to Vultr.

We’ll need to log into the VPS through SSH to issue the commands, so if you’re not sure how to do that, you can read how in the beginning of my guide here.

Removing default apps and upgrading

If you’re going to be using this VPS purely for web browsing, word publishing, etc. then we can remove the pre-installed webserver, mailserver, etc.

To do this, enter the following command and press enter

apt-get update && apt-get remove --purge -y apache2* bind9* sendmail* samba* && apt-get -y autoremove && apt-get -y upgrade

Sometimes, sendmail doesn’t get fully removed, so once that has finished, press the up arrow on your keyboard (which repeats the previous command, without submitting it) and then press enter and let it run again.

Installing Xfce (GUI) and Xrdp

Now, we’re going to install Xfce which will provide a graphical user interface on your VPS, as well as xfonts, tightvncserver and Xrdp which are needed to connect remotely. To do this, simply run the following command

apt-get update && apt-get -y install xfce4 xfonts-base tightvncserver xrdp

Finished

You should now be able to connect with RDP. Just enter the IP address and connect.

If you have any issues or questions, leave a comment below.