X2Go: NX3 based remote desktop

X2Go is a client-side multi-platform remote desktop solution that uses the No Machine NX3 technology under the hood and improves on it. Note that NX3 has a limited free edition. However, X2Go is completely free and full-featured. The design is similar to VNC which runs a server on one machine and the clients connect to that server to view the remote desktop. X2Go client is written in Qt4 and wxPython and hence can be installed on Windows as well.


  • Works well over both low and high bandwidth connections
  • Disconnect and reconnect to a session, even from another client
  • Supports sound
  • Supports as many simultaneous users as the computer’s resources will support (NX3 free edition limited you to 2)
  • Traffic is securely tunnelled over SSH
  • File Sharing from client to server
  • Printer Sharing from client to server
  • Easily select from multiple desktop environments (e.g., MATE, GNOME, KDE)
  • Remote support possible via Desktop Sharing
  • Access single applications by specifying the name of the desired executable in the client configuration or selecting one of the pre-defined common applications

X2Go has many advanced features:

  • Published Applications similar to Citrix MetaFrame / Presentation Server / XenApp, where a server-side list of available applications is displayed on the client, and you can run any number of them from within the same session. Citrix does this as an extension of the regular Start menu on Windows, while for X2Go, you right-click on the X2Go icon in the status area, or select the application from a pop-up window.
  • The ability to access a Windows computer that supports RDP via X2Go-proxied RDP. The main advantage of accessing RDP this way is improved performance over low bandwidth connections.
  • The Linux X2Go client can also serve as a graphical front-end to a client-side rdesktop / xfreerdp installation, so you don’t need an X2Go server at all if all you want to do is connect to an RDP server. Of course, X2Go-specific acceleration features are unavailable in that mode.
  • X2Go Servers can provide XDCMP Query Hosts over low bandwidths.
  • A Thin Client Environment is available.
  • A Session Broker that supports centralized configuration and load balancing.


Distro specific instructions are available in the application website (linked below). This article covers instructions for Ubuntu.

Add the PPA on Ubuntu:

$ sudo add-apt-repository ppa:x2go/stable
$ sudo apt-get update

Install the server:

$ sudo apt-get install x2goserver x2goserver-xsession x2goserver-extensions

Install the client:

$ sudo apt-get install x2goclient

PyHoca-GUI is a client implementation for X2Go using the project’s Python X2Go client API (a Python module). PyHoca-GUI uses wxPython for rendering graphical desktop elements (menus, dialog boxes etc.). To install PyHoca-GUI:

$ sudo apt-get install pyhoca-gui


To start the server, run the following command:

$ x2gostartagent

The clients can be connected using the GUI.

Webpage: X2Go

One thought on “X2Go: NX3 based remote desktop”

Leave a Reply

Your email address will not be published. Required fields are marked *