X2Go

X2Go

Free, open-source (GPL-2.0+) remote desktop for Linux servers based on NX 3 compression. Connects over SSH only, keeps sessions running when you disconnect and publishes single apps. Clients for Windows, macOS and Linux; server on Linux.

Facebook
Twitter
LinkedIn
Reddit
Telegram
WhatsApp
FreeLatest version: 4.1.2.3Actively developed

X2Go is a free, open-source remote desktop system for Linux servers, used by sysadmins, researchers and small teams who need a responsive graphical Linux desktop over slow or distant links. X2Go Client is available for Windows, macOS and Linux; the X2Go Server side runs only on Linux and uses SSH for both login and transport, so a server that already accepts SSH needs no extra ports.

It is built on a modified version of the NX 3 protocol, which compresses and caches X11 traffic much better than plain VNC. Sessions keep running on the server when you disconnect, so you can suspend a desktop at the office and resume it from home. The project is maintained, but releases are infrequent: the most recent client came out in 2023.

X2Go at a glance

ItemDetails
Latest versionX2Go Client 4.1.2.3 (June 2023); X2Go Server 4.1.0.6 (August 2023)
LicenceFree and open source, GPL-2.0-or-later
PlatformsClient: Linux, Windows, macOS. Server: Linux
DeveloperX2Go project (community; core developers include Oleksandr Shneyder, Heinz-M. Graesing, Mike Gabriel and Mihai Moldovan)
Official websitewiki.x2go.org
Best forFast remote Linux desktops and single applications over SSH, especially on slow or high-latency links

What it does

  • Runs a separate graphical Linux session for each user, independent of the server’s monitor.
  • Tunnels everything through SSH, including password or key authentication, so port 22 is the only port to open.
  • Uses NX compression and caching to stay usable over low bandwidth and high latency.
  • Suspends and resumes sessions: applications keep running when the client disconnects.
  • Publishes single applications so a remote program appears as a normal window on the user’s desktop.
  • Forwards sound, shares local folders with the remote session and supports client-side printing.
  • Can share an existing local desktop with the X2Go Desktop Sharing add-on, for help-desk style sessions.
  • Scales to larger setups with the X2Go Session Broker, and offers PyHoca-GUI and PyHoca-CLI as alternative clients.

How IT teams use it

Set up an X2Go server on Ubuntu or Debian

  1. Install a compatible desktop and the server packages from the distribution repositories:
    sudo apt update
    sudo apt install xfce4 x2goserver x2goserver-xsession

    On Fedora, and on RHEL-based systems with EPEL enabled, use sudo dnf install x2goserver.

  2. Make sure the SSH service is running and the firewall allows it, for example sudo ufw allow OpenSSH.
  3. In X2Go Client create a new session: host, login, SSH port 22, session type XFCE.
  4. Pick a connection speed preset that matches the link (for example ADSL or WAN for remote users) and connect.

Use SSH keys instead of passwords

  1. Generate a key on the client with ssh-keygen -t ed25519 and copy the public key with ssh-copy-id user@server.
  2. In the session settings choose the private key file, or enable the option to try automatic login through the SSH agent or default keys.
  3. Once keys work, disable password logins in /etc/ssh/sshd_config on Internet-facing servers.

Publish one Linux application

  1. In the session settings set the session type to Single application and enter the command, for example /usr/bin/firefox.
  2. Connect: only that application’s window appears on the user’s desktop.
  3. Alternatively choose Published applications to let users pick from the server’s application menu.

Clean up stuck sessions on the server

  1. As the affected user list their sessions with x2golistsessions.
  2. End a broken one with x2goterminate-session <session-id>.

Install and first run

Linux client. Install x2goclient from your distribution’s repositories (Debian, Ubuntu, Fedora, openSUSE and EPEL all package it).

Windows client. Use the official Windows installer listed on the X2Go wiki. The last officially announced Windows build is 4.1.2.2 from February 2020, and the 4.1.2.3 announcement warned that Windows and macOS builds might follow later; it still connects to current servers.

macOS client. Requires XQuartz to be installed first. Separate packages exist for older (OS X 10.11 and later) and newer (macOS 10.13 and later) systems.

Server. Linux only, with an SSH daemon and a supported desktop. LXDE, Xfce and MATE work without tweaks. GNOME 3.8 and later and modern KDE Plasma have compatibility problems because the NX agent lacks newer X extensions such as compositing and recent GLX. Wayland sessions are not supported.

Limitations

  • The server runs only on Linux; X2Go cannot host Windows or macOS desktops.
  • Modern GNOME and KDE desktops, Cinnamon and LXQt are poor fits; plan for Xfce or MATE.
  • No Wayland support; sessions are X11 only.
  • Slow release cadence: no new client or server release since 2023, and the Windows build lags behind.
  • No web browser client and no commercial vendor support.
  • GPU-heavy applications run without hardware acceleration in the session.

X2Go vs alternatives

ThinLinc covers the same need with a web client, clustering and vendor support, but it is free only up to 10 concurrent users. TigerVNC is simpler and works with modern desktops and Wayland, but it is not as fast on slow links. xrdp, a separate open-source project, lets standard RDP clients such as Remmina or Windows Remote Desktop connect to Linux, which is handy when users already have an RDP client.

FAQ

Is there an X2Go client for Windows?

Yes. An official Windows build of X2Go Client is linked from the X2Go wiki, together with installation and usage documentation.

Is X2Go available for Mac?

Yes, as a client. Install XQuartz first, then the X2Go Client package that matches your macOS version. There is no X2Go server for macOS.

Is X2Go free?

Yes. It is free and open source under the GPL, version 2 or later, for personal and commercial use.

X2Go vs xrdp: which is better?

X2Go is usually faster on slow links and needs only SSH, while xrdp works with standard RDP clients and tolerates modern desktops better. Choose X2Go for remote users with poor connections and xrdp when RDP compatibility matters.

Does X2Go support Wayland?

No. X2Go sessions run on X11 through the NX agent, so use an X11 desktop such as Xfce or MATE on the server.

How do I install X2Go?

On Ubuntu or Debian run sudo apt install x2goserver x2goserver-xsession on the server, install X2Go Client on your computer and connect over SSH.

X2Go vs VNC?

VNC sends screen images, while X2Go compresses X11 drawing commands, so X2Go is typically more responsive over the Internet. VNC is more universal and can share the physical screen and non-Linux systems.

Last checked against official sources: 1 October 2026 (developer website: wiki.x2go.org). Versions and licence terms change — confirm on the developer's site before deploying in production.

Other programs

Submit your application