Scaleway Documentationtutorials
remote desktop with xrdp

Jump toUpdate content

Configure a remote desktop with xRDP on Ubuntu Bionic Beaver

Reviewed on 10 May 2021Published on 02 December 2019
  • remotedesktop
  • remote
  • session
  • xrdp
  • rdp
  • desktop
  • pc

XRDP - Overview

xRDP is an open-source alternative to Microsoft RDP (Microsoft Remote Desktop Protocol).

The tool provides a graphical login to remote machines and accepts connections from variety of RDP clients: FreeRDP, rdesktop, NeutrinoRDP and Microsoft Remote Desktop Client (for Windows, macOS, iOS and Android).

RDP connections are encrypted by default using TLS for increased security.

In this tutorial you will learn how to install the xrdp server together with xfce, a lightweight and stable desktop environment ideally suited for the use as a remote desktop.

Requirements:
  • You have an account and are logged into the Scaleway Console
  • You have configured your SSH Key
  • You have a compute instance running on Ubuntu Bionic Beaver (18.04).
  • You have sudo privileges or access to the root user.

Installing the desktop environment

  1. Connect to your instance using ssh:

    ssh root@<your_instance_ip>
  2. Update the apt sources list and upgrade the software already installed on the instance:

    apt update && apt upgrade -y
  3. Install the required packages for the desktop environment using the apt packet manager:

    apt install xorg xfce4 xfce4-goodies dbus-x11 x11-xserver-utils

Installing xRDP

  1. The xRDP server is available in the default Ubuntu repositories and it can be installed easily using apt. The following command installs the packages xrdp and ufw a firewall to protect your instance from unauthorized access:

    apt install xrdp ufw
  2. The packet 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

    You will see a message like the following, confirming the status active (running):

    ● xrdp.service - xrdp daemon
    Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
    Active: active (running) since Mon 2019-12-02 16:06:15 UTC; 9s ago
  3. In case the service has not been started automatically, start it with systemctl:

    systemctl start xrdp
  4. Open the xrdp configuration file in a text editor of your choice, for example nano:

    nano /etc/xrdp/xrdp.ini
  5. Scroll to the bottom of the file and add the following line, then save the file and exit the text editor:

    exec startxfce4
  6. Restart the xrdp service using systemctl to activate the new configuration:

    systemctl restart xrdp
  7. Restrict the access to port 3389 to an IP address or a range of IPs. To allow access from the block 192.168.1.0/24 launch the following command:

    ufw allow from 192.168.1.0/24 to any port 3389

    To allow connections from any host (which may cause a huge security risk) run the following command:

    ufw allow 3389
    Tip:

    For more information how to configure the firewall of your instance, you may read our tutorial about the configuration of ufw on Ubuntu.

Adding a regular user

For security reasons, it is recommended to create a regular user to connect to the remote desktop.

  1. Add the user with the adduser command:

    adduser <myuser>
  2. (Optionally) If you want to give superuser rights to the user, install sudo using the apt packet manager:

    apt install sudo
  3. (Optionally) Add the user to the sudoers file:

    adduser <myuser> sudo

Connecting using RDP

  1. Download and install a RDP client of your choice. We will use the Microsoft Remote Desktop Client in this tutorial.

  2. Start the RDP client and click Add Desktop to add a new connection :

  3. Enter the connection details. You need to enter at least your instances IP in the PC name. Optionally you can add a Friendly Name to facilitate the identification of your instance in case you configure several RDP connections.

  4. 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.

  5. Enter the identifier and password of your regular user when prompted.

  6. You are now connected and the remote desktop displays. You can launch applications on the remote machine, as you would do locally.