Remote Desktop Windows to Linux Not Working

Remote Desktop Windows to Linux Not Working: Step-by-Step Guide

If your Remote Desktop Windows to Linux is not working, the most common reasons include: XRDP not installed, the XRDP service not running, firewall ports blocked, wrong desktop environment, or port conflicts with VNC or other services. In more cases, installing XRDP properly & opening port 3389 fixes the issue instantly. Now let’s explore this problem in depth and walk through complete troubleshooting methods to get your Windows-to-Linux remote connection working smoothly.

Understanding How Windows-to-Linux Remote Desktop Works

Windows uses the Remote Desktop Protocol (RDP) by default. However, Linux distributions do not ship with native RDP servers installed. Instead, Linux must use packages like:

  • XRDP (most common, supports Windows RDP client)
  • Vino (GNOME VNC server)
  • TigerVNC (VNC)
  • NoMachine
  • TeamViewer
  • AnyDesk

For RDP specifically, XRDP is the recommended option because it interacts directly with the Windows Remote Desktop Client.

When XRDP is missing, misconfigured, or blocked, Windows cannot connect — leading to the familiar error:

“Remote Desktop can’t connect to the remote computer.”

1. XRDP Is Not Installed – The Most General Reason

If XRDP is not installed, Windows simply has no RDP endpoint to connect to.

Fix

Install XRDP:

Ubuntu / Debian:

sudo apt update
sudo apt install xrdp -y

CentOS / RHEL / Fedora:

sudo dnf install xrdp -y
sudo systemctl enable --now xrdp

After installation, enable it:

sudo systemctl enable xrdp
sudo systemctl start xrdp

Now try connecting again from Windows.

2. XRDP Service Not Running

Even if XRDP is installed, the service may not be running because of system updates, missing dependencies, or crashes.

Fix

Check service status:

systemctl status xrdp

If inactive:

sudo systemctl restart xrdp

If disabled:

sudo systemctl enable xrdp

3. Firewall Blocking Port 3389

RDP uses port 3389, which is blocked by default on most Linux distributions.

Fix

Ubuntu / Debian (ufw):

sudo ufw allow 3389/tcp
sudo ufw reload

CentOS / RHEL (firewalld):

sudo firewall-cmd --add-port=3389/tcp --permanent
sudo firewall-cmd --reload

Now try the Windows connection again.

4. Using the Wrong Desktop Environment

XRDP works best with lightweight desktop environments such as Xfce.
GNOME and KDE sometimes fail because of compatibility issues.

Fix

Install Xfce (recommended):

sudo apt install xfce4 -y

Then set XRDP to use Xfce:

echo xfce4-session >~/.xsession

Restart XRDP:

sudo systemctl restart xrdp

Now reconnect from Windows — this solves most black-screen issues.

5. Port 3389 Already in Use

If another service (like VNC) is using port 3389, XRDP cannot bind to it.

Check Port Usage

sudo netstat -tulpn | grep 3389

If another service is using it, stop or differentiate the conflicting service.

6. SELinux Blocking XRDP (CentOS/RHEL Issues)

On security-focused distributions, SELinux may prevent XRDP from accessing required resources.

Fix

Enable SELinux compatibility:

sudo dnf install policycoreutils-python-utils -y
sudo semanage port -a -t rdp_port_t -p tcp 3389

Restart XRDP:

sudo systemctl restart xrdp

7. Login Loop or Authentication Failures

Sometimes users get redirected back to the login screen repeatedly.

Causes

  • Using the same user session twice
  • Wayland (Fedora / Ubuntu 22+) conflicts

Fix 1: Disable Wayland (Ubuntu 22+ / Fedora)

Edit:

sudo nano /etc/gdm3/custom.conf

Uncomment:

WaylandEnable=false

Save and reboot.

Fix 2: End Active User Sessions

loginctl terminate-user username

8. Using VNC Instead of RDP by Mistake

If Linux is running a VNC server instead of an RDP server, Windows’ normal RDP client cannot connect.

Fix

To use RDP, ensure XRDP is installed.

To use VNC, install a VNC viewer on Windows:

  • RealVNC Viewer
  • TightVNC
  • TigerVNC Viewer

Use:

<Linux-IP>:5901

9. Windows Settings Blocking Remote Desktop

Sometimes the issue originates from Windows itself.

Fix

Ensure Remote Desktop is enabled in:

Settings → System → Remote Desktop

Also make sure:

  • Firewall allows outbound RDP
  • You are using the correct IP address
  • VPN is not blocking local network connections

10. Linux System Using a Cloud Image Without GUI

Cloud servers (AWS, Azure, VPS providers) often use headless images without desktop environments.

XRDP cannot work without a GUI.

Fix

Install a full desktop environment:

For Ubuntu:

sudo apt install ubuntu-desktop -y

or lightweight:

sudo apt install xfce4 -y

Then reinstall XRDP:

sudo apt install --reinstall xrdp -y

11. Black Screen After Login – The Most Frustrating Error

This happens due to:

  • Missing .xsession file
  • Wayland
  • GNOME instability
  • Wrong permissions

Fix

Add:

echo xfce4-session > ~/.xsession

Set proper permissions:

chmod 700 ~
chmod 600 ~/.xsession

Restart XRDP.

Final Tips to Guarantee a Successful Windows-to-Linux RDP Connection

  • Install XRDP
  • Use Xfce for stability
  • Open firewall port 3389
  • Disable Wayland if necessary
  • Ensure XRDP service is running
  • Avoid using the same Linux user session twice
  • Check IP, network, and Windows firewall

If you follow all the solutions in this guide, your Windows to Linux Remote Desktop should work flawlessly.

Conclusion

When Remote Desktop from Windows to Linux is not working, the root cause is almost always related to missing XRDP, blocked ports, incorrect desktop environments, or service conflicts. By systematically following the troubleshooting steps in this guide—installing XRDP, enabling Xfce, opening port 3389, disabling Wayland, and fixing login loops—you can restore a fully functional RDP experience.

With the right setup, connecting from Windows to Linux becomes seamless, allowing you to manage servers, workstations, and remote systems with ease.

Scroll to Top