If you need to access your Linux VPS from Windows PC and prefer to use its native RDP client then you can use xrdp for it. In this article, we will use KVM HDD Plus US package as it has 8GB RAM which is enough to get the UI running plus there is still a lot left for comfortable browser usage. The recommended OS is Ubuntu 20.04
First, let's login to the VPS via SSH via any SSH client. If you don't have an SSH client installed you can use control panel embedded VNC client.
Make sure the OS is up-to-date by running the command
sudo apt update && sudo apt upgrade -y
The above might take some time to finish so let's wait a few minutes. When it is finished we can install full-fledged Gnome desktop
sudo apt install -y tasksel && sudo tasksel install ubuntu-desktop
This should bring up the screen where you can see the installation progress. Sometimes this can break system DNS resolver so if it happened you can run the following
sudo nano -w /etc/systemd/resolved.conf
and set DNS to 1.1.1.1 with FailoverDNS set to 8.8.8.8
Then save the file with Ctrl+X and start the resolved service with
sudo systemctl start systemd-resolved && sudo systemctl enable systemd-resolved && sudo systemctl disable gdm
Once it is done you can install xrdp and allow incoming traffic on RDP port
sudo apt install -y xrdp && sudo ufw allow 3389
We need to setup appropriate permissions for colord or your RDP session will fail to start. Open the file and paste the following into it
sudo nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf
polkit.addRule(function(action, subject) {
if ((action.id == “org.freedesktop.color-manager.create-device” || action.id == “org.freedesktop.color-manager.create-profile” || action.id == “org.freedesktop.color-manager.delete-device” || action.id == “org.freedesktop.color-manager.delete-profile” || action.id == “org.freedesktop.color-manager.modify-device” || action.id == “org.freedesktop.color-manager.modify-profile”) && subject.isInGroup(“{group}”))
{
return polkit.Result.YES;
}
});
Once it is done the final step would be adding a user to the system. You'll need to enter the user password following the password prompt. The password is not displayed in the terminal as a security measure
sudo useradd user && gpasswd -a user sudo && mkdir /home/user && chown user /home/user && passwd user
Finally, you can restart your VPS
sudo reboot
Give it a minute or two to restart and then you should be able to access your VM via Windows native RDP client.