Having your own private and powerful VPS is always a great thing. But, purchasing a VPS can be expensive. You have to spend a lot of money on a personal and secure VPS if you want to use it for a long time.
But, Oracle Cloud offers a free VPS for any registered user under their always free resources. You can use this VPS to run your private VPN, host your websites, live streaming, and many other things.
This guide will show you how to install ubuntu GUI on an Oracle Cloud always free VPS instance.
Table of Contents
What Do We Need First?
First, you need to sign up for the Oracle Cloud free tier to get this free VPS. You can go to the Oracle cloud official website and click try oracle cloud for free and click start for free to sign up. If you are a paid user, you can skip this section.
You need to enter your details on this page to sign up for a free account. You will also be asked for a credit card. However, you can also use your debit card to sign up for it. Your card will not be charged for the usage of this free VPS.
How to Setup Ubuntu Remote Desktop Xrdp (Free RDP) & GUI on Oracle Cloud
After login into your account and click create a VM instance. On this page, enter any name for your VPS.
Then, click image and shape. Click change image. Here you need to select Canonical Ubuntu 20.04. Now click change shape and select Ampere processor. Then, you can click here to change the number of OCPUs and the RAM. I adjust it to 16 OCPUs and 96GB RAM.
Now under the networking tab, select Create a new virtual cloud network. Under the add SSH keys, we need to add a new SSH key. So, click on paste public keys. Then, you need to use Putty Gen to generate a new key. Open Putty Gen and move your mouse cursor on the empty area new generate a new key. It will generate a new key for you. Copy it to your clipboard and paste it into the SSH keys field.
Then, go back to Putty Gen to save the private key to your computer. Great. Now click create, and your new VPS instance will be available after a few minutes.
Now, right-click and open the subnet link in a new tab. Click on the security list. Then, select add ingress rules. Here you need to type 0.0.0.0/0 as the CIDR and 3389 as the port range.
Now, copy your public IP address. Open Putty and paste it into the Host Name field.
Then, under the SSH section, open Auth. Now you need to browse and choose the private key you recently saved. Then, go back to sessions, give any name to this session, and don’t forget to save it. Click the saved session and hit open. Here you need to type Ubuntu and hit Enter.
How to Use The Terminal to Setup the Remote Desktop (GUI)
Enter this command to upgrade and update Ubuntu packages.
sudo apt-get update && sudo apt-get upgrade -y
Here hit enter and hit enter again to allow IPv4 and IPv6 rules.
Now you need to install Tasksel using this command. Then, Enter Y to proceed.
sudo apt install tasksel
Enter this command to install Ubuntu-desktop GUI. This installation process takes a considerable time, so be patient until the installation process gets completed.
sudo tasksel install ubuntu-desktop
Enter this command to install remote desktop with XRDP.
sudo apt install xrdp -y
Now we need to unable XRDP remote desktop by entering the command below.
sudo systemctl enable --now xrdp
Enter this command to add port 3389 to the IP tables and save it using the second command.
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 3389 -j ACCEPT
sudo netfilter-persistent save
We need to create a user for XRDP. You can use any name here. I use OsGodz. You can use any name as you need.
sudo adduser osgodz
Then, enter a password. Password is not visible to us. But, you can type it and hit enter to confirm it by typing again. Then, you can enter a name or press Enter key repeatedly without typing any information. After that, Type Y and hit enter to proceed.
Then, type this command to add the recently created user to the XRDP group.
sudo usermod -G xrdp osgodz
Make sure to change OsGodz to the username you have used in the previous command.
Then, type sudo reboot to reboot the server.
sudo reboot
Now we need to open Putty again and load the saved session back. Then, go to SSH, tunnels to add the following IPs and ports. You need to change the destination IP address to your public IP address of the created instance. You can use the same IP address as the source IP address as mine.
Source IP: 127.0.0.2:3388
Destination IP: YourPublicIp:3389
Then, click Add button to add a new forwarded port. Go back to sessions and click save to save changes.
Now select the created session and hit open. Type Ubuntu for the log in command.
How to Remove “Authentication is required to create a color profile” Pop-up
Now all is okay, but there is an annoying pop-up when we connect to the remote desktop telling “Authentication is required to create a color profile”. You can use the following commands to get rid of this pop-up.
First, Enter this command.
sudo nano /etc/polkit-1/localauthority.conf.d/02-allow-colord.conf
Now you need to paste this by right-clicking here. After that pressing Control plus X to exit and type Y, and hit enter to save changes.
/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("{users}")) {
return polkit.Result.YES;
How to Connect to The Ubuntu GUI (Remote Connection)
Now we can connect to the remote desktop. To do that, open Remote Desktop Connection software on your Windows PC and type the source IP address in the computer, and click connect.
Now we have successfully connected. Enter your username and password and log in to your remote ubuntu-desktop.
We get our ubuntu welcome screen. You can click the next button repeatedly and start using your VPS server right away.
For better understanding, I suggest you watch the full video you can find at the top of this article. Thanks for reading. If you have any questions, comment below.