Wow, 4 years ago, I had a first look at Remote Desktop Sharing of a Wayland desktop of Ubuntu 22.04. At the time it was apparent that Wayland would replace X-windows in the medium term and I needed a solution for remote help when X-windows was no longer an option. At the time, I found it working overall, but the main two drawbacks was a strange delay of the last typed two characters and the inability to access a locked screen. As the next Ubuntu LTS version (26.04) is about to be released just about a month down the road, I thought I’d have another go at it and have a look at how Wayland remote desktop sharing works on the current LTS version, 24.04.
Basic Feature, Home Network
It’s good to see that things have quite improved from 22.04 to 24.04! As before, Wayland screen sharing works out of the box with the flip of a radio button in the settings. In the local network, the remote screen almost feels local, I have a hard time noticing the delay when typing in text or scrolling. Also, copy/paste of text on the local machine to/from the remote desktop works with the Remmina VNC/RDP client. During the screen sharing session, a big orange icon is shown on the right in the top status bar, so it’s clear the desktop is accessed remotely. And, like in 22.04, locking the desktop terminates the remote session.
Remote Access over the Internet
My main remote desktop scenario is not in the local network, however, I want to remotely support family members over the Internet. For this purpose, the machines I support can establish an SSH tunnel to a gateway in my infrastructure, over which I can then establish an SSH tunnel to the notebook for shell access and port forwarding. I’ve used this setup for many years to forward the ports opened by xvnc over an encrypted tunnel to my notebook. So can this done with the Wayland/RDP solution used by Ubuntu 24.04 as well? Not directly, unfortunately, but it is possible to use the ‘uncomplicated firewall’ ufw to limit access to port 3389 to localhost. Here are the commands:
sudo ufw enable
sudo ufw status verbose
sudo ufw deny 3389/tcp
sudo ufw allow from 127.0.0.1 to any port 3389 proto tcp
sudo ufw reload
sudo ufw status verbose
Once reloaded the rules remain in place over a reboot so this improves security quite a bit.
In terms of speed, I found my solution that uses this central SSH gateway fully usable over a DSL link on the one side and an LTE with good uplink speeds (> 10 Mbps) on the remote side.
Multi-Monitor
In some cases, the remote notebook has a second monitor attached. Xvnc handles this well and I get a single large window that shows both screens, even if they have different screen resolutions. Unfortunately, the RDP solution built into Ubuntu 24.04 does not support this, I can only access the main notebook screen. If an external monitor is connected, there seems to be no way to see it. It’s not a deal breaker for me but it’s a limitation that will hurt every now and then.
A Lock Screen Fix
The next limitation I noticed the last time I tried on Ubuntu 22.04 was that the RDP remote session was terminated as soon as the lock screen was enabled. Also not a deal breaker but a significant limitation. The same still applies in Ubuntu 24.04, but here’s a GNOME shell extension that fixes this. Once installed and rebooted, the RDP session can now be started while the notebook screen is locked and the session also survives when the screen is locked later on. Here’s how to install the GNOME shell extension:
sudo apt install gnome-shell-extension-manager
Once installed, open the ‘Extension Manager’ app, go to the ‘browse’ tab and search for ‘Allow locked Remote Desktop‘. Log-out and in again and the RDP session lives on in the ‘lock screen’.
Enable / Disable / Re-Enable Remote Desktop Access
By limiting remote desktop access to localhost, I’ve made sure the service can only be accessed over SSH and remote port forwarding. The RDP port (3389) is not even exposed on the local network, so the attack surface is zero. Should that not be enough, the service can be enabled and disabled without rebooting in the settings menu on the Desktop and also in the shell:
gsettings set org.gnome.desktop.remote-desktop.rdp enable true
gsettings set org.gnome.desktop.remote-desktop.rdp enable false
Suspend/Resume and Connectivity Failure Behavior
Nothing is stable and mobile Internet connections even less so. So how does the RDP server and client behave in such scenarios? I first tried a suspend/resume on the remote notebook while working on the device remotely with the Remmina viewer. As expected, the notebook suspends and the screen freezes on the remote side. After a few minutes, Remmina closes the window. After resuming the remote notebook, I can establish a new session, so suspend/resume works correctly and there is no hanging screen session that would prevent another screen sharing session.
Also, I removed network connectivity on the client and the server side and additional ran a further test in which I forcefully terminated the Remmina client window so it wouldn’t have a chance to properly shut-down an ongoing connection. In all cases, I could immediately establish a new session, so the RDP remote server was not hung by interrupted previous connections.
Summary
It’s good to see that Wayland remote desktop sharing has significantly improved in Ubuntu 24.04 compared to its predecessors. Fun fact: When using X-Server instead of Wayland during the login process, the solution works as well, so the local RDP server can adapt to what is used for the GUI. Let’s see if Ubuntu 26.04 further improves things. I would already be happy if nothing is broken in the upgrade, but multi-monitor support would really be nice to get.
While this is it for today, there is one important point missing: How does remote screen sharing behave over slow and delayed links? It’s 2026, but slow connections still exist. I’ll have a closer look at that in a follow-up post.