Table of Contents
- Why use native GNOME RDP?
- Remote Login vs Desktop Sharing
- Check Ubuntu version
- Enable system RDP
- Configure TLS
- Configure RDP credentials
- Configure GDM
- Check port 3389
- Test from Windows
- Diagnose RDP failures
- Final architecture
Ubuntu 26.04 LTS and Native RDP
Ubuntu 26.04 LTS uses the modern GNOME desktop stack and provides GNOME Remote Desktop for remote desktop access.
This means you can connect to an Ubuntu machine from Windows using Microsoft's built-in Remote Desktop Connection application instead of immediately installing third-party RDP software.
The Goal
┌──────────────────────────┐
│ Windows 11 PC │
│ │
│ mstsc.exe │
└────────────┬─────────────┘
│
│ RDP / TCP 3389
│
▼
┌──────────────────────────────┐
│ Ubuntu 26.04 LTS │
│ │
│ GNOME Remote Desktop │
│ ↓ │
│ GDM / GNOME Login │
│ ↓ │
│ Ubuntu Desktop │
└──────────────────────────────┘
Remote Login vs Desktop Sharing
Desktop Sharing
Desktop Sharing exposes an existing graphical GNOME session to a remote client.
Existing GNOME session
↓
Remote RDP client
↓
View/control existing desktop
Remote Login
Remote Login is more appropriate for a headless workstation or server because it can provide a graphical login session remotely.
RDP client
↓
GNOME Remote Desktop
↓
System RDP authentication
↓
GDM
↓
GNOME user login
↓
Desktop
Step 1 — Confirm Ubuntu Version
First confirm that the machine is actually running Ubuntu 26.04 LTS.
lsb_release -aExpected output:
Distributor ID: Ubuntu
Description: Ubuntu 26.04 LTS
Release: 26.04
Codename: resolute
Step 2 — Check GNOME Remote Desktop
dpkg -l | grep gnome-remote-desktopIf installed, you should see a package similar to:
ii gnome-remote-desktop 50.x...
Step 3 — Enable System RDP
sudo grdctl --system rdp enableThen enable and start the system service:
sudo systemctl enable --now gnome-remote-desktop.serviceCheck the status:
sudo grdctl --system statusStep 4 — Configure TLS
One of the most important parts of the configuration is TLS. If the TLS certificate and private key are missing, the RDP server may fail to start correctly.
sudo mkdir -p \
/var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop
Generate a certificate and key:
sudo openssl req -newkey rsa:4096 -nodes \
-keyout /var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key \
-x509 -days 720 \
-out /var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt \
-subj "/CN=$(hostname)"
Secure the TLS key
sudo chown -R gnome-remote-desktop:gnome-remote-desktop \
/var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop
sudo chmod 600 \
/var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key
Register the TLS certificate
sudo grdctl --system rdp set-tls-key \
/var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.key
sudo grdctl --system rdp set-tls-cert \
/var/lib/gnome-remote-desktop/.local/share/gnome-remote-desktop/tls.crt
Step 5 — Configure RDP Credentials
This is an easy step to miss. RDP can be enabled and port 3389 can be reachable, but the server will still reject the connection if system-level RDP credentials aren't configured.
sudo grdctl --system rdp set-credentialsYou will be prompted for:
Username:
Password:
Step 6 — Verify the RDP Server
sudo grdctl --system statusYou want to see:
Overall:
Unit status: active
RDP:
Status: enabled
Port: 3389
TLS certificate: .../tls.crt
TLS key: .../tls.key
Username: (hidden)
Password: (hidden)
Step 7 — Check Port 3389
sudo ss -lntp | grep ':3389'A working RDP listener should return something similar to:
LISTEN ... *:3389
Step 8 — Check GDM
systemctl status gdm.service --no-pagerThe service should report:
Active: active (running)If necessary:
sudo systemctl enable --now gdm.service
Also check the default boot target:
systemctl get-defaultA graphical Ubuntu system should normally use:
graphical.targetIf necessary:
sudo systemctl set-default graphical.target
Step 9 — Check the Firewall
sudo ufw statusIf UFW is active, allow RDP:
sudo ufw allow 3389/tcp
sudo ufw reload
Step 10 — Test from Windows
Windows includes the Remote Desktop Connection client. Press:
Win + RThen enter:
mstscConnect to the Ubuntu machine:
192.168.1.14Or explicitly specify the port:
192.168.1.14:3389Test TCP 3389 Before RDP
This is one of the most useful troubleshooting commands. Open PowerShell on Windows:
Test-NetConnection 192.168.1.14 -Port 3389
A successful result should contain:
TcpTestSucceeded : True
TcpTestSucceeded is True, Windows can reach the Ubuntu RDP service over TCP. At that point, investigate authentication, TLS or the GNOME session rather than the network.The Most Important Troubleshooting Command
When Windows gives a generic RDP error, Ubuntu's journal often provides the real reason.
sudo journalctl -u gnome-remote-desktop.service -f
Leave the command running and then attempt an RDP connection from Windows.
Example: Credentials Problem
[RDP] Credentials are not set, denying client
This means the network connection reached the RDP server, but the server rejected the client because system-level RDP credentials weren't available.
Example: TLS Problem
RDP TLS certificate and key not yet configured properly
This indicates that the RDP TLS configuration needs to be fixed.
Layered RDP Troubleshooting
| Layer | Command / Test | Typical Problem |
|---|---|---|
| Ubuntu | lsb_release -a | Wrong OS/version |
| Package | dpkg -l | Remote Desktop not installed |
| Service | systemctl status | Daemon inactive |
| TLS | grdctl status | Certificate/key missing |
| Authentication | grdctl status | Credentials missing |
| Port | ss -lntp | Nothing listening on 3389 |
| Firewall | ufw status | 3389 blocked |
| Network | Test-NetConnection | TCP unreachable |
| GDM | systemctl status gdm | Graphical login unavailable |
| Session | journalctl | GNOME/GDM session failure |
Complete Diagnostic Checklist
- Ubuntu 26.04 LTS confirmed
- GNOME Remote Desktop installed
- System RDP enabled
- gnome-remote-desktop system service running
- TLS certificate configured
- TLS private key configured
- RDP credentials configured
- GDM running
- Graphical target configured
- TCP 3389 listening
- Firewall permits TCP 3389
- Windows can reach TCP 3389
- GNOME Remote Desktop logs checked
Final Architecture
mstsc.exe
Why Native GNOME RDP Is Worth Trying
For a modern Ubuntu 26.04 workstation or local AI server, native GNOME Remote Desktop is a logical first choice because it integrates directly with the GNOME desktop environment.
- Native GNOME integration
- Wayland-compatible architecture
- Windows RDP client compatibility
- System-level Remote Login
- Systemd integration
- Suitable for headless workstation scenarios
Useful Commands at a Glance
# Check Ubuntu
lsb_release -a
# Check Remote Desktop package
dpkg -l | grep gnome-remote-desktop
# Check RDP configuration
sudo grdctl --system status
# Enable RDP
sudo grdctl --system rdp enable
# Start RDP service
sudo systemctl enable --now gnome-remote-desktop.service
# Check RDP listener
sudo ss -lntp | grep ':3389'
# Check GDM
systemctl status gdm.service --no-pager
# Check firewall
sudo ufw status
# Watch RDP logs
sudo journalctl -u gnome-remote-desktop.service -f
Conclusion
Setting up RDP on Ubuntu 26.04 is not simply a matter of opening port 3389. A successful connection depends on several layers: the GNOME Remote Desktop daemon, TLS configuration, RDP credentials, GDM, the graphical session and network connectivity.
The biggest troubleshooting lesson is to work from the bottom up: first confirm that Ubuntu is listening on TCP 3389, then verify that Windows can reach it, and finally use journalctl to diagnose authentication and session issues.
Test-NetConnection <Ubuntu-IP> -Port 3389 returns TcpTestSucceeded : True, your network path is working. From there, focus on GNOME Remote Desktop configuration, credentials, TLS and the graphical session.References
Tags
#Ubuntu26.04, #Ubuntu, #Linux, #GNOME, #GNOMERemoteDesktop, #RDP, #RemoteDesktop, #Windows11, #LinuxServer, #Wayland, #UbuntuServer, #SysAdmin, #LinuxAdministration
No comments:
Post a Comment
Thank you for Commenting Will reply soon ......