Jump toUpdate content
Deploy a remote desktop with XRDP on Ubuntu Jammy Jellyfish (22.04 LTS)
Instances can be used with third party software to run a remote desktop. The software captures the Instance’s screen and transmits it to another device, where the user can interact with the remote machine using its local keyboard and mouse.
A remote desktop can be useful for tasks such as:
- accessing a remote computer from anywhere
- editing and sharing files between other machines using a high-speed Internet connection
- performing admistrative tasks
- performing live demonstrations of applications installed on the remote machine
In this tutorial you learn how to deploy a remote desktop on an Instance running on Ubuntu Jammy Jellyfish (22.04 LTS) by using the following stack:
- xRDP - an open-source alternative to Microsoft RDP (Microsoft Remote Desktop Protocol).
- xfce - a lightweight and stable desktop environment
Connect to your Instance using
aptsources list and upgrade the software already installed on the Instance:
apt update && apt upgrade -y
Install the required packages for the desktop environment using the
apt install xorg xfce4 xfce4-goodies dbus-x11 x11-xserver-utils
The xRDP server binary is available in the default Ubuntu repositories and it can be installed using
Run the following command installs the packages
ufw, a firewall to protect your Instance from unauthorized access:
apt install xrdp ufw
The package manager configures the service to be automatically started upon system reboot.
Run the following command to check that the service has been started during the installation:
systemctl status xrdp
A message like the following displays, confirming the status
● xrdp.service - xrdp daemon
Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-05-06 14:40:08 UTC; 47s ago
In case the service has not been started automatically, start it with
systemctl start xrdp
Open the xRDP configuration file in a text editor of your choice, for example
Scroll to the bottom of the file and add the following line, then save the file and exit the text editor:
Restart the xrdp service using
systemctlto activate the new configuration:
systemctl restart xrdp
Restrict the access to port
3389to an IP address or a range of IPs. To allow access from the block
192.168.1.0/24launch the following command:
ufw allow from 192.168.1.0/24 to any port 3389
To allow connections from any host run the following command:
ufw allow 3389Important:
Exposing the service to any IP may cause a security issue.
Enable the firewall:
For more information on how to configure your Instance’s firewall, you can read our tutorial about the configuration of ufw on Ubuntu.
We recommend you create a regular user on your Instance, other than the root user, to connect to the remote desktop, to avoid security issues.
Add the user with the
Install sudo using the
aptpackage manager if you want to give superuser rights to the user. (Optional).
apt install sudo
Add the user to the sudoers file. (Optional)
adduser <myuser> sudo
Download and install an RDP client of your choice. In this tutorial we use the Microsoft Remote Desktop Client.
Start the RDP client and click Add Desktop to add a new connection:
Enter the connection details. You must enter at least your Instance’s IP under PC name. Optionally, you can add a Friendly Name to facilitate the identification of your Instance in case you configure several RDP connections.
Double click the connection icon. During the first connection, you may be asked to validate the fingerprint of the Instance. Click OK to confirm the connection.
Enter the identifier and password of your regular user when prompted.
You are now connected and the remote desktop of your Ubuntu Jammy Jellyfish (22.04 LTS) Instance displays. You can launch applications on the remote machine, as you would do locally.