Remote Ubuntu Desktop Access with xrdp and Remmina

Working remotely from a beachside café in Byron Bay one day and a shared workspace in Perth the next is now normal for many Australian professionals. When the work involves a Linux machine sitting in a home office in Brisbane or Adelaide, you need a way to reach that desktop without driving home. Remote desktop access to an Ubuntu machine over the internet is a practical answer, and pairing the xrdp server with the Remmina client is one of the most reliable combinations available to everyday Ubuntu users.

The Remote Desktop Protocol has been part of Windows for decades, so client support is excellent on laptops, tablets, and phones. xrdp brings that same protocol to Ubuntu, while Remmina, which ships in the Ubuntu repositories, gives you a tidy graphical launcher for all of your sessions. With a small amount of setup you can log into your home machine from a colleague's office in Melbourne or from a hotel room in Darwin, using standard system tools you can install from the official repositories.

Preparing Your Ubuntu System for Remote Access

Before you install any software, make sure the Ubuntu machine you want to reach is in a good state to be a remote host. If you are running Ubuntu 22.04 LTS or later, the desktop session defaults to Wayland rather than Xorg, and that matters for xrdp. Open Settings, then the Users panel, and confirm you have a working account with a password that is not shared with the local login session. While you are there, run sudo apt update && sudo apt upgrade so every package is current and you avoid chasing compatibility bugs later.

You will also want to know how your machine appears on the network. Most Australian households connect through the National Broadband Network, and the router supplied by Telstra, Optus, TPG, or Aussie Broadband typically hands out addresses through DHCP. From a terminal, run ip -br addr and write down the inet address shown for your Wi-Fi or Ethernet interface. If the address changes after a reboot, log into your router and reserve the same address for your machine using its MAC address, which keeps the rest of this guide simpler. Write the address down, then move on.

Installing and Configuring xrdp on Ubuntu

With a known IP address and an updated system, install the xrdp package. From the terminal on the Ubuntu host, run:

sudo apt install xrdp
sudo systemctl enable --now xrdp
sudo systemctl status xrdp

You should see active (running) in green on the status output. The xrdp service creates a user called xrdp and adds it to the ssl-cert group so it can read the certificate used for the encrypted connection. You may also want to install xorgxrdp so that newer GNOME builds render correctly over the remote session:

sudo apt install xorgxrdp

Open /etc/xrdp/xrdp.ini with sudo and your favourite editor. Look for the port= line under the [Globals] section. The default of 3389 is fine if your router allows it, but if you share a network with other services that use the same port you can pick another number, such as 3390, 3391, or anything in the high range. Save the file and restart the service with sudo systemctl restart xrdp. Before you connect, you also need to allow the port through the Uncomplicated Firewall. Run sudo ufw allow 3389/tcp (or the port you chose) followed by sudo ufw reload.

Setting Up a Working Session for GNOME or Xfce

A common stumbling block with xrdp on recent Ubuntu releases is the black screen you get when the remote login tries to start a Wayland session that xrdp cannot drive. The cleanest fix is to tell the host to use Xorg for remote logins. From the login screen, click the gear icon and pick the "Ubuntu on Xorg" option for the account you plan to connect with, which resolves most blank-screen problems without disabling Wayland entirely for local use.

If you still prefer the lighter Xfce desktop for your remote sessions, install it with sudo apt install xfce4 xfce4-goodies and create or edit ~/.xsession in your home directory so it contains a single line reading startxfce4. After you log out and back in, xrdp will launch that session regardless of what the local login uses. This trick is handy on older laptops running Ubuntu where Wayland over the network feels sluggish, and it keeps the resources available for the remote stream rather than local animation. Users in regional Western Australia sometimes find that Xfce simply performs better over long NBN transit links than full GNOME.

When colours look washed out, open the xrdp login dialog on the client side and pick a colour depth of 24 bits per pixel. Inside the host's /etc/xrdp/xrdp.ini you can also set max_bpp=24 or even max_bpp=16 for older connections, which reduces bandwidth at the cost of slightly less accurate colours.

Connecting from Another Machine Using Remmina

Remmina is the everyday client that pairs neatly with xrdp. On Ubuntu or Linux Mint you can install it from the Software Centre or with sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret, and on Fedora Workstation the equivalent is sudo dnf install remmina remmina-plugins-rdp. After installation, launch Remmina from the applications grid.

Click the green plus icon to create a new connection profile. Give it a friendly name such as Home Ubuntu, set the protocol to RDP, and enter the IP address you recorded earlier. If you changed the port, append a colon and the port number, for example 192.168.1.42:3390. Under the Basic settings tab, fill in the username that you set up on the host, choose a colour depth of 32 or 24, and tick Enable clipboard synchronization so you can copy commands between machines.

Save the profile, then double-click it. The first connection prompts you to accept the host certificate, and from then on you can launch your session with a single click. With NBN fibre to the premises in suburbs around Sydney or Melbourne, the experience is usually as smooth as sitting in front of the machine itself. On rural wireless connections, switching the connection profile to a lower colour depth and disabling the wallpaper under the Advanced tab makes a noticeable difference, especially when family members are streaming video at the same time.

Security Hardening and Wake-on-LAN for the Host

Leaving port 3389 open on a residential NBN connection works, but it is worth tightening things further. Configure your router to forward the chosen xrdp port to the host's reserved IP address only, and never expose the default RDP port directly to the public internet without protection. Inside Ubuntu, install fail2ban with sudo apt install fail2ban and enable the xrdp jail, which slows down anyone who tries to guess passwords. Treat the authentication side of xrdp as you would a small business server under Australia's Notifiable Data Breaches scheme: take it seriously because a compromised home machine can leak credentials, family photos, and work documents in one breach.

There is one more scenario that comes up often in regional areas such as Cairns, Toowoomba, or Bendigo, where the machine you want to reach is sometimes switched off to save power on solar setups. Manually turning it on defeats the purpose of a remote session, so following a wake on lan tutorial is worth your time. Once you have arranged the BIOS, the network card, and the router, sending a magic packet from your phone wakes the machine before Remmina connects, which is much smoother than calling the kids and asking them to press the power button. Keep the xrdp package current by enabling unattended security upgrades so you always benefit from the latest patches, and remember to take regular backups of the host with a tool such as Déjà Dup or Restic.

A few details worth holding onto as you set this up: the host needs a reserved IP and an Xorg-ready session, xrdp must be allowed through the Uncomplicated Firewall, and Remmina needs the protocol set to RDP with the right port. Strong passwords, fail2ban, and a wake-on-lan arrangement turn a clever trick into a dependable workstation you can reach from anywhere the NBN reaches. With those pieces in place, your Ubuntu desktop stays a couple of clicks away, even when you are a long way from home.