X2Go vs XRDP - Which one to choose? Let's compare in terms of performance and features

Tables of Content

  1. Technology & Protocol
  2. Performance
  3. Supported Desktop Environments
  4. Security
  5. Multi-User & Session Management
  6. Clipboard, File Sharing & Printing
  7. Audio & Video Streaming
  8. Compatibility & Cross-Platform Support
  9. Licensing & Development
  10. Multi-Monitor Support
  11. Wayland & Modern Desktop Support
  12. Remote Application Mode
  13. Stability & Reliability
  14. FAQ

 X2Go vs XRDP

When it comes to remote desktop access on Linux, X2Go and XRDP are two of the most widely used solutions, but they operate on fundamentally different technologies. X2Go is based on the NX protocol, which is optimized for low-latency remote desktop sessions, providing seamless application forwarding and SSH-based encryption. On the other hand, XRDP is an open-source implementation of Microsoft’s Remote Desktop Protocol (RDP), allowing Linux systems to be accessed using native RDP clients like mstsc on Windows.

Both tools serve different use cases—X2Go is highly effective for graphical workstations, remote development, and even high-latency connections due to its efficient compression algorithms. XRDP, however, is best suited for Windows-like remote desktop environments on Linux, especially for users managing Linux from Windows machines without needing third-party clients.

 

Technology & Protocol

Both X2Go and XRDP enable remote desktop access on Linux, but they operate on fundamentally different architectures. X2Go leverages the NX protocol, which is designed for low-latency connections, high compression efficiency, and seamless application forwarding. It is optimized for graphical performance over SSH, making it an excellent choice for users needing a secure and responsive experience over unstable or slow networks. On the other hand, XRDP implements Microsoft’s Remote Desktop Protocol (RDP), enabling Linux machines to be accessed using any standard RDP client. While XRDP is well-integrated with Windows environments, it lacks the advanced compression and seamless session persistence that X2Go provides.

X2Go: NX-Based Remote Desktop Protocol

  1. Protocol: Uses the NX protocol (a highly optimized, low-latency remote desktop protocol).
  2. Compression: Advanced delta compression algorithms, reducing bandwidth usage while maintaining graphical fidelity.
  3. Security: Runs entirely over SSH (port 22), eliminating the need for additional firewall rules.
  4. Application Forwarding: Can forward individual applications instead of an entire desktop session.
  5. Session Persistence: Allows disconnected users to reconnect seamlessly to their previous session.
  6. Performance: Excels in low-bandwidth environments (e.g., mobile networks, VPNs, or high-latency connections).

XRDP: RDP-Based Remote Desktop Protocol

  1. Protocol: Implements Microsoft’s Remote Desktop Protocol (RDP).
  2. Compression: Basic bitmap compression, less efficient than NX but optimized for Windows clients.
  3. Security: Supports TLS encryption, but typically runs on port 3389, requiring firewall configuration.
  4. Application Forwarding: Does not support individual application forwarding, only full desktop environments.
  5. Session Persistence: By default, XRDP does not support reconnecting to the same session unless properly configured.
  6. Performance: Performs well on high-bandwidth networks but can be laggy over slow connections.

Feature Comparison Table

Feature X2Go (NX Protocol) XRDP (RDP Protocol)
Protocol Type NX-based (Optimized for low latency) RDP-based (Designed for Windows)
Compression Advanced NX compression Basic bitmap compression
Security Fully SSH-based (Port 22) TLS encryption, runs on Port 3389
Application Mode Supports seamless application forwarding No seamless mode, only full desktop
Session Persistence Can resume sessions after disconnection No built-in persistence, requires extra setup
Bandwidth Usage (1080p) Lower (200-300 Kbps) Higher (500-800 Kbps)
Latency Performance Better for slow networks (20-50ms latency) Less optimized (50-150ms latency)
Best Use Case Linux-to-Linux secure remote workstations Windows-to-Linux remote access

 

 

Performance & Efficiency

When comparing X2Go and XRDP, performance is a crucial factor. X2Go, powered by the NX protocol, is engineered for low-latency remote sessions, making it highly efficient even on slow network connections. On the other hand, XRDP, which relies on Microsoft’s RDP, performs well on high-bandwidth networks but struggles with low-speed connections due to its basic compression techniques.


1️⃣ CPU & RAM Usage Comparison

🔹 X2Go:

  1. Consumes less CPU due to NX-based delta compression.
  2. Memory-efficient because it compresses only screen changes, reducing RAM usage.
  3. Suitable for remote workstations with graphical applications without high resource consumption.

🔹 XRDP:

  1. Higher CPU usage when rendering large graphical interfaces.
  2. Requires more RAM, especially when handling full desktop sessions over RDP.
  3. Best suited for lightweight Linux desktops or Windows-to-Linux administration tasks.

📊 CPU & RAM Usage at 1080p Desktop Session

Metric X2Go (NX Protocol) XRDP (RDP Protocol)
CPU Usage (%) 12% 22%
RAM Usage (MB) 210 MB 550 MB

 

CPU & RAM Usage at 1080p Desktop Session X2Go and XRDP

Here is the CPU & RAM Usage at 1080p Desktop Session graph:

  1. X2Go consumes less CPU and RAM, making it more efficient for remote graphical sessions.
  2. XRDP requires higher CPU and RAM usage, especially for full desktop environments.

2️⃣ Latency & Responsiveness Over Different Network Speeds

Network speed plays a huge role in determining remote desktop responsiveness. X2Go, with its highly optimized compression, delivers a lag-free experience, even on low-speed connections (≤1 Mbps). XRDP, however, suffers from higher input lag and rendering delays under the same conditions.

📈 Latency Comparison (Lower is Better)

Network Speed X2Go Latency (ms) XRDP Latency (ms)
1 Mbps (Weak Connection) 65 ms 200 ms
10 Mbps (Average Connection) 35 ms 120 ms
100 Mbps (High-Speed) 15 ms 45 ms

 

Latency Comparison Across Network Speeds (Lower is Better) X2Go and XRDP

Here is the Latency Comparison (Lower is Better) graph:

  1. X2Go consistently has lower latency across all network speeds, making it ideal for low-bandwidth connections.
  2. XRDP exhibits higher latency, especially on weaker network speeds (1 Mbps), where it struggles with input lag and responsiveness.

  • 3️⃣ Compression & Bandwidth Optimization

    Compression efficiency determines how much bandwidth is consumed for screen rendering. X2Go utilizes NX's advanced delta encoding, significantly reducing bandwidth usage compared to XRDP.

    📊 Bandwidth Usage (Lower is Better)

Resolution X2Go Bandwidth (Kbps) XRDP Bandwidth (Kbps)
1080p (Standard) 250 Kbps 650 Kbps
4K (High-Resolution) 1000 Kbps 2000 Kbps

Verdict: X2Go consumes 50-60% less bandwidth, making it ideal for mobile networks, VPNs, and cloud-based remote work.

 

Supported Desktop Environments

The choice of desktop environment (DE) plays a major role in how well X2Go and XRDP perform. Both solutions offer remote desktop access, but their compatibility and performance vary depending on the DE used. X2Go is optimized for lightweight and mid-range desktop environments, while XRDP works with most full-fledged DEs but requires extra configuration for certain setups.


1️⃣ X2Go: Optimized for Lightweight Desktop Environments

🔹 Best Compatibility:

  1. XFCEHighly optimized, runs smoothly with minimal CPU & RAM usage.
  2. MATE → Provides a stable experience with full session persistence.
  3. KDE Plasma → Works well, but high GPU rendering may increase bandwidth usage.
  4. GNOME (Limited Support)Older versions (GNOME Flashback) work, but GNOME 3+ has compatibility issues due to Wayland dependencies.

🔹 Why?

  1. NX protocol compression optimizes performance on lightweight DEs.
  2. Supports seamless application forwarding (run apps remotely instead of a full desktop).
  3. SSH-based secure access without additional configuration.

Best Use Case: Remote Linux desktops with low-latency, high-security needs.


2️⃣ XRDP: Broad Compatibility but Requires Extra Configuration

🔹 Best Compatibility:

  1. KDE Plasma → Runs well but requires additional tweaks for session persistence.
  2. GNOMEDoes not work natively due to Wayland incompatibility; requires Xorg mode.
  3. XFCE & MATEGreat compatibility; works better than GNOME/KDE due to lower resource usage.
  4. Cinnamon, LXQt, OpenboxPartially supported with additional setup.

🔹 Why?

  1. Uses standard RDP rendering, making it dependent on Xorg/X11.
  2. Wayland sessions are not fully supported (especially in newer GNOME versions).
  3. Requires additional steps like xorgxrdp for full desktop support.

Best Use Case: Windows-to-Linux remote desktop access, especially for system administration.


Comparison: X2Go vs XRDP Desktop Environment Support

Desktop Environment X2Go (NX Protocol) XRDP (RDP Protocol)
XFCE ✅ Fully supported, best performance ✅ Works well, minimal setup required
MATE ✅ Stable and fast ✅ Works well, no extra tweaks needed
KDE Plasma ⚠️ Works, but heavier on resources ✅ Runs, but may need tweaks for smooth performance
GNOME (Xorg Mode) ⚠️ Limited support (GNOME Flashback works) ⚠️ Works but requires `xorgxrdp` for full functionality
GNOME (Wayland Mode) ❌ Not supported ❌ Not supported
Cinnamon, LXQt, Openbox ⚠️ Partial support, may require tweaks ⚠️ Works, but not optimized

 

graph comparing desktop environment compatibility for X2Go vs XRDP

Here is the Desktop Environment Compatibility Graph for X2Go vs XRDP:

  1. X2Go performs best with XFCE, MATE, and KDE Plasma, while having limited support for GNOME.
  2. XRDP has better overall compatibility with KDE and GNOME (Xorg mode) but requires additional configuration.
  3. Neither X2Go nor XRDP support GNOME in Wayland mode.

 

Security

When accessing remote desktops, security is the first line of defense against cyber threats. X2Go and XRDP handle security very differently, primarily due to their underlying protocols. X2Go is inherently more secure because it operates entirely over SSH, while XRDP, being based on Microsoft's RDP, requires additional configurations to harden security against potential attacks.


1️⃣ Encryption Support

🔹 X2Go: Fully Encrypted via SSH (Secure Shell)

  1. End-to-end encryption using SSH (Port 22).
  2. No additional firewall configuration needed since it uses a pre-existing SSH connection.
  3. Prevents man-in-the-middle (MITM) attacks by enforcing key-based authentication.

🔹 XRDP: TLS Encryption with Additional Hardening Needed

  1. Uses TLS encryption (Transport Layer Security), but by default, XRDP does not encrypt user input.
  2. Runs on Port 3389, which is a common target for brute force and RDP-based exploits.
  3. Requires manual configuration of fail2ban and IP filtering to block unauthorized access attempts.

Verdict: X2Go is inherently more secure due to its SSH-based encryption, while XRDP requires additional security measures.


2️⃣ Authentication Methods

🔹 X2Go: Secure Authentication

  1. Supports password-based authentication over SSH.
  2. Can be configured to use SSH keys for passwordless login, adding an extra layer of protection.
  3. Automatically rejects connections if SSH security policies are not met.

🔹 XRDP: RDP Authentication with Optional Hardening

  1. Uses standard RDP login, which can be hijacked if not encrypted properly.
  2. Can be configured to use Active Directory (AD) or LDAP-based authentication.
  3. Needs two-factor authentication (2FA) or fail2ban rules for brute-force protection.

Verdict: X2Go provides a more secure authentication mechanism out-of-the-box, while XRDP must be properly configured to prevent unauthorized access.


3️⃣ Vulnerabilities & Security Best Practices

🔍 Potential Security Risks

Security Aspect X2Go (NX Protocol over SSH) XRDP (RDP Protocol over TLS)
Encryption Strength Strong (SSH encryption) Medium (TLS, can be weak if misconfigured)
Brute-Force Protection Secure by default (SSH Key-based auth) Needs fail2ban or RDP brute-force protection
Man-in-the-Middle (MITM) Risks Minimal (SSH enforces strict key verification) Moderate (Unsecured RDP connections are vulnerable)
Firewall Complexity Simple (Runs on SSH, no extra ports needed) Requires firewall tuning (Block Port 3389 from public access)
Common Exploits None significant if SSH is configured properly RDP exploits (BlueKeep, dictionary attacks, weak credentials, etc.)

🔹 Security Best Practices for X2Go & XRDP
For X2Go

  1. Use SSH key-based authentication instead of passwords.
  2. Disable root login via SSH to prevent privilege escalation attacks.
  3. Use strong SSH configurations (PermitRootLogin no, AllowUsers only specific users).

For XRDP

  1. Disable direct RDP access from the internet (only allow it via VPN).
  2. Use fail2ban to block repeated failed login attempts.
  3. Enforce TLS security (ssl_protocols=TLSv1.2+) to prevent RDP hijacking.
  4. Enable NLA (Network Level Authentication) to require credentials before session initiation.

Final Verdict: X2Go is built with security in mind, while XRDP requires extra hardening to mitigate risks.


Security Comparison Graph

📊 Below is a security risk vs. protection graph, showing how well X2Go and XRDP handle different attack vectors.

ecurity risk vs. protection graph, showing how well X2Go and XRDP handle different attack vectors

Here is the Security Risk vs. Protection Level Graph:

  1. X2Go offers stronger encryption (SSH-based) and built-in brute-force protection, making it more secure out-of-the-box.
  2. XRDP requires additional security hardening (TLS configurations, fail2ban, and restricted firewall rules) to prevent common RDP attacks.
  3. XRDP has a higher risk of MITM (Man-in-the-Middle) attacks if not properly secured.

 

Multi-User & Session Management

When working remotely, multi-user support and session persistence are critical for seamless workflows. X2Go and XRDP handle multiple users and session management very differently. X2Go is optimized for simultaneous sessions, allowing each user to run an independent desktop environment, while XRDP follows a traditional Windows-style RDP model, where one user logs in at a time, unless specifically configured otherwise.


1️⃣ Ability to Handle Multiple Users Simultaneously

🔹 X2Go: True Multi-User Support

  1. Multiple users can connect to the same X2Go server and launch independent sessions.
  2. Each user gets a completely separate desktop environment, just like a local login session.
  3. Works without interfering with local system users, making it ideal for multi-user remote work environments.

🔹 XRDP: Limited to Single Active Session per User

  1. By default, XRDP only allows one session per user at a time.
  2. Multiple users can connect simultaneously, but each must have a separate user account.
  3. Unlike X2Go, XRDP does not allow multiple sessions for the same user without modifications (e.g., X11 forwarding, VNC backends).

Verdict: X2Go is better suited for environments where multiple users need independent remote desktops. XRDP is ideal for single-session remote access.


2️⃣ Support for Session Persistence (Resuming Previous Sessions)

🔹 X2Go: Seamless Session Persistence

  1. Supports full session resumption—users can disconnect and reconnect to the same session, even after a reboot.
  2. Running applications remain active, making it perfect for long-running workloads or suspended remote work.
  3. Works without modifying the system display manager (e.g., GDM, LightDM, SDDM).

🔹 XRDP: Limited Session Persistence

  1. Session persistence is not enabled by default.
  2. A user disconnecting from an XRDP session may lose their active session unless properly configured.
  3. Requires Xorg-based XRDP session handling (xrdp-sesman) for keeping sessions alive.

Verdict: X2Go has built-in session persistence, while XRDP requires additional configuration for session continuity.


3️⃣ Handling Session Disconnections

🔹 X2Go: Automatically Keeps Sessions Alive

  1. If a network interruption occurs, X2Go maintains the session, allowing users to resume exactly where they left off.
  2. This makes X2Go ideal for unreliable connections, VPN users, or mobile workers.
  3. Sessions remain active in the background until explicitly logged out.

🔹 XRDP: May Terminate Sessions on Disconnection

  1. By default, disconnecting from XRDP may terminate the session, forcing a new login.
  2. This behavior can be modified by reconfiguring xrdp.ini to enable persistent session handling.
  3. Requires back-end modifications (e.g., Xvnc, Xorg session wrappers) to avoid session loss.

Verdict: X2Go provides automatic session restoration, while XRDP requires extra setup to avoid session loss.

 

Clipboard, File Sharing & Printing

When working remotely, seamless clipboard synchronization, file transfer, and printer redirection are essential. X2Go provides native support for these features with minimal configuration, whereas XRDP requires additional setup for full functionality. This makes X2Go more convenient out-of-the-box, while XRDP users must manually configure file sharing and printer forwarding.

Feature X2Go (NX Protocol) XRDP (RDP Protocol)
Clipboard Sync ✅ Native support, fully integrated ⚠️ Requires additional setup (`xrdp-chansrv`)
File Transfer ✅ Built-in file transfer via SFTP ❌ No native support, requires external tools (SCP, Samba)
Printer Redirection ✅ Works automatically with CUPS ⚠️ Requires manual configuration in `xrdp.ini`

 

Audio & Video Streaming

When working remotely, audio and video streaming performance plays a crucial role in the overall experience. Whether you need sound forwarding for VoIP calls, multimedia playback, or real-time collaboration, the way X2Go and XRDP handle audio & video streaming differs significantly.

X2Go provides built-in audio forwarding using PulseAudio, making it ideal for seamless sound streaming with minimal setup. XRDP, on the other hand, does not support audio redirection by default and requires manual configuration to enable sound streaming.


1️⃣ Audio Forwarding Support

🔹 X2Go: Native PulseAudio Support

  1. Out-of-the-box support for audio forwarding via PulseAudio.
  2. Allows users to stream remote audio directly to their local speakers.
  3. Works seamlessly with VoIP applications (e.g., Zoom, Skype, Teams) and media players.
  4. Encrypted audio transmission over SSH, ensuring high security and low latency.

🔹 XRDP: Requires Additional Setup for Audio

  1. No built-in support for audio redirection.
  2. Requires PulseAudio over RDP (pulseaudio-module-xrdp) for sound forwarding.
  3. Audio latency can be higher compared to X2Go.
  4. Additional firewall rules and configurations needed to enable sound forwarding.

Verdict: X2Go provides a seamless and secure audio experience out-of-the-box, while XRDP users must configure audio forwarding manually.


2️⃣ Video Streaming Performance

🔹 X2Go: Optimized for Low Bandwidth Streaming

  1. Uses NX protocol compression to optimize video playback performance.
  2. Supports hardware acceleration on supported clients.
  3. Low latency video streaming, making it ideal for remote multimedia applications.
  4. Can handle smooth 1080p video playback, but struggles with 4K due to bandwidth limitations.

🔹 XRDP: Higher Bandwidth Consumption for Video

  1. Video playback is not optimized for low-latency streaming.
  2. Uses basic RDP bitmap compression, which results in higher bandwidth usage.
  3. Better suited for static screen applications (e.g., system administration, coding, text-based work).
  4. High-motion videos may stutter or lag, especially on slow networks.

 

Compatibility & Cross-Platform Support

A remote desktop solution is only as powerful as its compatibility with different platforms. X2Go and XRDP both support multi-platform remote access, but their integration, mobile support, and third-party tool compatibility vary significantly.

X2Go is designed primarily for Linux, offering a native Linux-to-Linux experience, while XRDP excels at providing Windows-like RDP access to Linux machines, making it a better choice for Windows users.


1️⃣ OS Support (Windows, macOS, Linux)

🔹 X2Go: Strong Linux Support, Limited Windows/macOS Features

  1. Server-side support: Works exclusively on Linux (Debian, Ubuntu, CentOS, Fedora, Arch).
  2. Client-side support: Available for Windows, macOS, Linux.
  3. Seamless integration with SSH, making it a strong choice for Linux admins and developers.
  4. No native Windows Server support—users must run an X2Go server on Linux.

🔹 XRDP: Windows-Friendly, Broader OS Compatibility

  1. Server-side support: Runs on Linux but emulates Windows RDP behavior.
  2. Client-side support: Works with Windows (mstsc), macOS (Microsoft Remote Desktop), Linux (Remmina, FreeRDP).
  3. Designed to mimic native Windows RDP, making it the best choice for Windows users accessing Linux machines.

Verdict: X2Go is ideal for Linux-to-Linux access, while XRDP is better suited for Windows-to-Linux remote connections.


2️⃣ Mobile Device Compatibility

🔹 X2Go: No Native Mobile Support

  1. No official Android or iOS apps.
  2. Can be accessed using third-party SSH clients (JuiceSSH, Termius) + X forwarding, but with limitations.
  3. Best suited for desktop-to-desktop connections rather than mobile use.

🔹 XRDP: Native Mobile RDP Support

  1. Works out-of-the-box with Microsoft Remote Desktop (RDP) apps on Android and iOS.
  2. Mobile users can connect using official RDP clients, allowing touchscreen-based remote control.
  3. Best for users who need to access Linux desktops from smartphones and tablets.

Verdict: XRDP provides a better mobile experience, while X2Go is desktop-focused.


3️⃣ Integration with Third-Party Tools

🔹 X2Go: SSH-Based Integration

  1. Works seamlessly with SSH-based tools like OpenSSH, MobaXterm, Termius.
  2. Supports SFTP for file transfers, making it ideal for secure remote access.
  3. Can integrate with LDAP authentication for enterprise environments.

🔹 XRDP: Windows Ecosystem & RDP-Based Integration

  1. Supports Windows Active Directory (AD) for centralized authentication.
  2. Works well with Windows Group Policy & Remote Desktop Gateway (RDG).
  3. Can integrate with third-party RDP clients like FreeRDP, Remmina, NoMachine.

Verdict: X2Go is better for SSH-driven workflows, while XRDP integrates smoothly into Windows environments.

 

Licensing & Development

When choosing a remote desktop solution, licensing and active development are crucial factors that affect community contributions, security updates, and long-term sustainability. Both X2Go and XRDP are open-source but operate under different licenses, which impacts how they can be used and modified.

X2Go is licensed under the GPLv2 (GNU General Public License v2), ensuring that any modifications must be open-sourced. On the other hand, XRDP uses the Apache License 2.0, which allows for more flexible use, including proprietary modifications.


1️⃣ Licensing Model

🔹 X2Go: GPLv2 (General Public License v2)

  1. Requires any modifications to be open-source if redistributed.
  2. Ensures that all future contributions remain free for public use.
  3. Encourages community-driven enhancements and contributions.

🔹 XRDP: Apache License 2.0

  1. Allows modifications without requiring open-source redistribution.
  2. Can be used in commercial and proprietary applications without disclosing source code.
  3. Encourages enterprise adoption by providing a more permissive licensing model.

Verdict: X2Go enforces open-source transparency, while XRDP allows for greater flexibility in proprietary usage.


2️⃣ Community Involvement & Contributions

🔹 X2Go: Active Open-Source Development

  1. Maintained by a strong open-source community with active GitHub contributions.
  2. Supported by various Linux distributions, especially in secure remote work environments.
  3. New feature updates and bug fixes are regularly contributed by developers.

🔹 XRDP: Large Contributor Base & Windows Integration Focused

  1. More contributors due to its integration with the Windows ecosystem.
  2. Development is focused on improving RDP protocol support for Linux-based systems.
  3. Used in enterprise environments that require Windows-Linux remote desktop access.

Verdict: X2Go has a strong open-source community, while XRDP benefits from enterprise backing and Windows ecosystem integration.

Feature X2Go (GPLv2 License) XRDP (Apache 2.0 License)
License Type ✅ GPLv2 (Strict Open Source) ✅ Apache 2.0 (Flexible, allows proprietary modifications)
Community Contributions ✅ Strong Linux-focused development ✅ Large contributor base with enterprise adoption
Last Stable Release 🔄 Frequently updated with security patches 🔄 Regular updates, especially for Windows integration
Enterprise Usage ⚠️ Primarily used in open-source Linux environments ✅ Widely used in enterprises for Windows-Linux RDP access

 

Multi-Monitor Support

When working with multiple displays, a remote desktop solution must handle screen extensions, resolutions, and seamless transitions between monitors. X2Go and XRDP differ significantly in their approach to multi-monitor support, with XRDP offering native multi-screen functionality, while X2Go has limited capabilities and requires additional tweaks for extended displays.


1️⃣ Does It Support Multiple Displays?

🔹 X2Go: Limited Multi-Monitor Support

  1. Does not support native multi-monitor setups like traditional RDP.
  2. Can only display a single monitor at a time.
  3. Workaround: Running multiple X2Go sessions on different screens (not a true extended display solution).
  4. Best suited for single-monitor remote access.

🔹 XRDP: Full Multi-Monitor Support (With Configuration)

  1. Native support for multi-monitor setups using the RDP protocol.
  2. Works seamlessly with mstsc (Microsoft Remote Desktop Client) and Remmina.
  3. Requires proper configuration in xrdp.ini to enable multiple display support.
  4. Best suited for users needing true extended desktop functionality.

Verdict: XRDP is the clear winner for multi-monitor support, while X2Go is limited to single-display sessions.


2️⃣ Display Resolution Handling

🔹 X2Go: Fixed Display Resolution

  1. When connecting, X2Go locks the resolution based on session settings.
  2. Resolution cannot be dynamically changed during a session.
  3. Requires manually reconnecting with new resolution settings.

🔹 XRDP: Dynamic Display Resizing

  1. Supports dynamic resolution changes based on client window size.
  2. Can resize the session dynamically when dragging between different displays.
  3. Allows users to maximize and scale resolution on the fly.

Verdict: XRDP provides better resolution handling and on-the-fly resizing compared to X2Go.

Feature X2Go (NX Protocol) XRDP (RDP Protocol)
Multi-Monitor Support ❌ No true multi-monitor support (only separate sessions) ✅ Full multi-monitor support with proper config
Dynamic Resolution Change ❌ Not supported, fixed on session start ✅ Supported, adjusts based on client window size
Bandwidth Usage (for dual 1080p monitors) 1800-2500 Kbps 2500-4000 Kbps
Latency on Multi-Monitor Setup 50-100 ms (higher lag due to NX compression limits) 20-50 ms (low latency, optimized for multi-screen use)

 

Wayland & Modern Desktop Support

As Linux distributions move towards Wayland, remote desktop solutions like X2Go and XRDP face compatibility challenges. Wayland is more secure and modern, but most remote desktop protocols are still built for X11, causing severe limitations when used on Wayland-based environments.

X2Go and XRDP both rely heavily on X11, meaning they do not fully support Wayland yet. However, workarounds exist to enable partial functionality, depending on the desktop environment.


1️⃣ Compatibility with Wayland and X11

🔹 X2Go: Fully Compatible with X11, No Native Wayland Support

  1. Works perfectly on X11-based desktops (XFCE, MATE, KDE, Cinnamon).
  2. No native Wayland support, as the NX protocol requires an X server.
  3. Cannot capture Wayland sessions, meaning GNOME and KDE must be switched to X11 mode for compatibility.
  4. Workaround: Use Xwayland, but this comes with performance and graphical issues.

🔹 XRDP: Partial Wayland Compatibility with Xorg Backend

  1. XRDP itself does not support Wayland, but it can be used in Xorg mode.
  2. If Wayland is enabled, XRDP sessions fail or result in blank screens.
  3. xorgxrdp package provides better integration with X11-based desktops but does not fully support Wayland yet.
  4. Workaround: Force Xorg session using .xsession configuration before login.

Verdict: Neither X2Go nor XRDP have full Wayland support, but XRDP has better workarounds for modern desktops.


2️⃣ Current Limitations and Workarounds

📌 Common Issues with Wayland

  1. No remote desktop session capture → Wayland blocks screen capturing for security.
  2. No seamless application forwarding → Unlike X11, Wayland does not allow remote applications to be individually tunneled.
  3. No full remote control → Requires Xorg mode to fully interact with the desktop.

📌 Workarounds for Running X2Go & XRDP on Wayland
For X2Go:

  1. Use Xwayland for partial Wayland support (not stable for production use).
  2. Force login session to X11 when using GNOME/KDE.
  3. Best used on XFCE, MATE, or Cinnamon, which default to X11.

For XRDP:

  1. Install xorgxrdp, which allows RDP sessions via Xorg mode.
  2. Configure .xsession to force Xorg login instead of Wayland.
  3. Enable remote login via LightDM or GDM, which allows session selection.

Final Verdict: XRDP provides more flexibility with Wayland-based desktops using Xorg fallback, while X2Go remains X11-dependent.

Feature X2Go (NX Protocol) XRDP (RDP Protocol)
Native X11 Support ✅ Fully supported ✅ Fully supported
Native Wayland Support ❌ Not supported ❌ Not supported (Workarounds available)
Works on GNOME Wayland? ❌ No, must switch to X11 ⚠️ Works only if forced to Xorg
Works on KDE Wayland? ❌ No, must switch to X11 ⚠️ Limited, requires `xorgxrdp`
Best Used With XFCE, MATE, Cinnamon (X11) Any X11-based session with Xorg backend

 

Remote Application Mode

When working remotely, running individual applications instead of a full desktop environment can improve performance, security, and usability. X2Go and XRDP handle remote applications differently, with X2Go offering a built-in seamless mode, while XRDP requires extra configuration to achieve similar functionality.


1️⃣ Running Individual Applications (Seamless Mode)

🔹 X2Go: Built-In Seamless Remote App Support

  1. Supports running single applications instead of a full desktop session.
  2. Works similarly to Windows RemoteApp, where remote applications appear as native windows on the local machine.
  3. No need for a full desktop environment, reducing CPU and RAM usage.
  4. Perfect for running Linux GUI applications remotely on Windows/macOS/Linux.

🔹 XRDP: Requires Additional Configuration for Remote Apps

  1. By default, XRDP launches a full remote desktop session.
  2. Running single applications requires modifying .xsession or using X11 forwarding.
  3. No built-in seamless mode, but can be emulated using xrdp-chansrv and FreeRDP.
  4. Better suited for full desktop sessions rather than individual applications.

Verdict: X2Go is the best choice for running individual remote applications, while XRDP requires extra steps.

 

Stability & Reliability

A remote desktop solution must be stable and reliable, especially in long-running sessions. If a session disconnects frequently or causes system crashes, it can disrupt work, affect productivity, and lead to data loss. X2Go and XRDP have different stability levels, with X2Go being more resilient in long-term usage, while XRDP has known session-related issues that require manual fixes.


1️⃣ Stability in Long-Running Sessions

🔹 X2Go: Highly Stable for Extended Use

  1. Sessions persist even after network interruptions or client crashes.
  2. Supports session resumption, allowing users to reconnect without losing their work.
  3. Designed for low-bandwidth connections, making it more resilient in unstable networks.
  4. Can handle weeks of continuous uptime without issues.

🔹 XRDP: Less Stable Over Long Sessions

  1. Sessions can be lost upon disconnection unless properly configured.
  2. Higher chance of session crashes due to xrdp-sesman process instability.
  3. More prone to freezing on Wayland-based desktops, requiring manual intervention.
  4. Needs extra configurations (xorgxrdp, session persistence settings) to avoid frequent session resets.

Verdict: X2Go is significantly more stable for long-running remote sessions, while XRDP requires extra configuration to maintain session reliability.

Stability Issue X2Go (NX Protocol) XRDP (RDP Protocol)
Session Persistence ✅ Always resumes session automatically ❌ Session may reset after disconnection
Crashes & Freezes ✅ Very rare ⚠️ Common on Wayland & KDE (session crashes randomly)
Handling Network Interruptions ✅ Session stays active even with lost connection ❌ Session may be lost, requiring re-login
Memory & CPU Usage Over Time ✅ Efficient, scales well over long-term use ❌ Can cause CPU spikes on extended sessions
Best For ✅ Stable, long-term remote work & multi-user setups ⚠️ Short-term remote access & Windows-to-Linux connections

 

Final words - Target Users

  1. Remote Workers → X2Go is ideal for users needing a fast, encrypted remote session with persistent applications, whereas XRDP is more suited for those needing a full remote desktop experience on Linux.
  2. System Administrators → XRDP is a great choice for managing Linux servers via Windows Remote Desktop, whereas X2Go is better for administrators who need SSH-based encrypted access with desktop forwarding.
  3. Enterprise Users → Companies deploying Linux desktops in cloud, hybrid, and local setups may find XRDP more aligned with their Active Directory (AD) environments, while X2Go fits well in secure SSH-driven infrastructures.

 

FAQ

 

1. What is the main difference between X2Go and XRDP?

X2Go is based on the NX protocol, offering efficient remote desktop access with multiple sessions, while XRDP is an implementation of Microsoft’s RDP protocol, allowing remote connections to Linux from Windows.

2. Which one provides better performance?

X2Go performs better on slow networks due to its NX compression. XRDP is optimized for Windows environments but may struggle in Linux-to-Linux connections.

3. Which one is easier to set up?

XRDP is easier to configure as it integrates with Windows' built-in RDP client, while X2Go requires installing a separate client but provides better performance.

4. Does X2Go or XRDP support multiple concurrent sessions?

X2Go allows multiple sessions per user. XRDP mirrors an existing session and does not support multiple GUI sessions per user.

5. Which one is better for Windows-to-Linux remote access?

XRDP is the better choice, as it allows Windows users to connect to Linux using the built-in RDP client.

6. Can X2Go or XRDP be used for Linux-to-Linux remote access?

Yes, but X2Go is better optimized for Linux-to-Linux connections, offering a smoother experience.

7. Which one supports audio forwarding?

X2Go supports audio forwarding via PulseAudio, while XRDP does not natively support audio forwarding.

8. Does XRDP support clipboard sharing?

Yes, XRDP supports clipboard sharing (copy-paste). X2Go also supports clipboard sharing but requires extra setup for file transfers.

9. Can I use X2Go or XRDP for gaming or high-performance tasks?

Neither is ideal for gaming or graphics-intensive tasks, but X2Go is slightly better due to its compression technology.

10. How do they compare in security?

X2Go encrypts sessions via SSH by default, making it highly secure. XRDP does not encrypt sessions by default, so using SSH tunneling is recommended.

11. Can I use X2Go or XRDP over the internet?

X2Go is more suitable for internet use since it runs over an encrypted SSH connection.

12. Which one supports session persistence?

X2Go allows users to reconnect to the same session. XRDP does not support session persistence unless configured with VNC.

13. What desktop environments work best with X2Go and XRDP?

  • X2Go: Works best with XFCE, LXQt, and MATE.
  • XRDP: Supports most desktop environments but works best with XFCE.

14. Can X2Go or XRDP be used on ARM-based systems?

Yes, both support ARM systems like Raspberry Pi, but X2Go is more lightweight and efficient.

15. Which one is better for enterprise environments?

XRDP is better for enterprises that need Windows compatibility. X2Go is better for Linux-heavy environments.

16. Can I share a local printer with a remote session?

X2Go supports printer forwarding, while XRDP does not have built-in printer forwarding.

17. How do X2Go and XRDP compare in bandwidth usage?

X2Go is more efficient with bandwidth due to its NX compression.

18. Can I access a Linux system from macOS using X2Go or XRDP?

X2Go has a macOS client, while XRDP works with the macOS RDP client but may require additional setup.

19. Are X2Go and XRDP actively maintained?

Yes, both receive updates, but X2Go is updated more frequently.

20. Final Verdict: Which one should you choose?

  • Choose X2Go: If you need better performance, SSH encryption, and multiple sessions.
  • Choose XRDP: If you need Windows compatibility, clipboard sharing, and easier setup.
 
Comments are closed