How To

Install Xrdp on Ubuntu 18.04: Remote Desktop Setup Guide

Xrdp is an open-source implementation of the Microsoft Remote Desktop Protocol (RDP). It lets you access your Ubuntu desktop remotely from a Windows, macOS, or Linux machine using any RDP-compatible client.

This guide shows you how to install Xrdp on Ubuntu 18.04 and connect to it using a Remote Desktop client.

<strong>Prerequisite:</strong>&nbsp;You need a sudo account and a desktop environment installed on your Ubuntu machine.

Install a Desktop Environment

Xrdp requires a graphical desktop environment. If your Ubuntu server does not have one, install Xfce, which is lightweight and works well with Xrdp:

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

Install Xrdp on Ubuntu

Install Xrdp from the default Ubuntu repositories:

bashsudo apt install xrdp

After the install, the Xrdp service starts automatically. Verify it is running:

bashsudo systemctl status xrdp

Xrdp uses a self-signed SSL certificate located at /etc/ssl/private/ssl-cert-snakeoil.key. Add the xrdp user to the ssl-cert group so it can read the certificate:

bashsudo adduser xrdp ssl-cert

Restart the Xrdp service to apply the change:

bashsudo systemctl restart xrdp

Configure the Desktop Session

Tell Xrdp to use Xfce as the session type. Create or edit the .xsession file in your home directory:

bashecho xfce4-session &gt; ~/.xsession

Open the Firewall Port

If UFW is enabled, allow RDP traffic on port 3389:

bashsudo ufw allow 3389

Connect with a Remote Desktop Client

On Windows, open the built-in Remote Desktop Connection app. Enter the IP address of your Ubuntu machine and click Connect. Use your Ubuntu username and password to log in.

On macOS, install the Microsoft Remote Desktop app from the App Store, add a new connection with your Ubuntu IP address, and connect.

On Linux, use a client like Remmina and select RDP as the protocol.

Xrdp is now installed and running on your Ubuntu 18.04 machine. You can access the full desktop environment from any device that supports RDP. Got questions? Leave a comment below.

Cyber Defence

Recent Posts

ss Command in Linux: Display Socket Statistics and Connections

The ss command in Linux lists open sockets and active network connections. It replaced the deprecated netstat command and…

13 hours ago

ftp Command in Linux: Connect to Servers and Transfer Files

The ftp command in Linux connects to a remote FTP server and transfers files. FTP transmits everything…

13 hours ago

lsmod Command in Linux: List and Inspect Kernel Modules

The lsmod command in Linux lists all currently loaded kernel modules. It reads /proc/modules — a virtual file maintained…

13 hours ago

rename Command in Linux: Batch Rename Files with Perl Regex

The rename command in Linux renames multiple files at once using Perl regular expressions. Unlike mv, which handles…

14 hours ago

pgrep Command in Linux: Find and Filter Running Processes

The pgrep command in Linux finds the PIDs of running processes based on a name or other…

1 day ago

unlink Command in Linux: Remove a Single File or Symlink

The unlink command in Linux removes a single file by deleting its directory entry. It is a…

1 day ago