User Tools

Site Tools


How to Betatest a newer NX-Libs version from Arctica

What is Arctica and what do they have to do with X2Go and NX-Libs?

The information on this page is outdated. X2Go now uses nx-libs as released by Arctica Project.

The Arctica Project is a fork/spin-off of X2Go, and overlapping with X2Go in several goals as well as the names of the volunteers involved.

Currently, one of the most important sub-projects within the Arctica project is the task of updating the NX-Libraries (the code that NoMachines was forced to release under GPL, on which FreeNX, NeatX, X2Go etc. all depend). Some X2Go volunteers are joining in on that effort as well, also, there are sponsors involved, namely Qindel/TheQVD, who work on improving the NX-Libs themselves as well as paying others to do so.

From time to time, Arctica will bundle up a release (see e.g. the announcement here:, but they provide nightly builds as well:

It is possible to “pimp” X2Go with these newer NX-Libs, though we strongly advise against doing so on a production server.

Please, try this on a test server, not on your production machine, and always make a backup copy before installing/upgrading.

That said, we are heavily interested in finding betatesters, so these new NX-Libs may become part of X2Go proper in the future.

If you're able and willing to test, then please read on.

Installation Instructions

This should work for Debian Jessie as well as for Ubuntu Server 16.04 - please take note of the distribution-specific differences marked within the text.

It has been tested with Ubuntu Server 16.04, with the “regular” (non-nightly) Arctica repository. Everything else is still awaiting tests by volunteers like you.

# add the X3Go repo key (Debian only)
apt-key adv --recv-keys --keyserver E1F958385BFE2B6E # for Debian

# add the X2Go repo
add-apt-repository ppa:x2go/ppa # for Ubuntu
echo 'deb jessie main' >>/etc/apt/sources.list.d/x2go.list # for Debian

# add the Arctica repo key
wget -qO - | sudo apt-key add -

# add the Arctica repo
echo "deb xenial main" >> /etc/apt/sources.list.d/arctica.list # for Ubuntu
echo "deb jessie main" >> /etc/apt/sources.list.d/arctica.list # for Debian

# OR try the Arctica nightly repo
echo "deb xenial main" >> /etc/apt/sources.list.d/arctica.list # for Ubuntu Nightly
echo "deb jessie main" >> /etc/apt/sources.list.d/arctica.list # for Debian Nightly

# update the package list before installing anything
apt-get update

# update the base system to the current package versions
# Download everything first, then upgrade, then dist-upgrade
apt-get dist-upgrade -d -y && \
apt-get upgrade -y && \
apt-get dist-upgrade -y

# Install X2Go packages, a minimal MATE Desktop, and Firefox as test application
apt-get install -y \
    x2goserver \
    x2goserver-xsession \
    x2gomatebindings \
    mate-core \
    mate-applets mate-menus \
    mate-notification-daemon \
    mate-screensaver \

apt-get install -y firefox ubuntu-mate-themes # for Ubuntu
apt-get install -y firefox-esr mate-themes # for Debian

# add a user
useradd -m -s /bin/bash <username>
passwd <username>

On the X2GoServer, edit /etc/x2go/x2goagent.options:

  • Search for the String “xinerama”, and when you encounter a line like this one, make sure there's the plus sign in front of “xinerama”: X2GO_NXAGENT_DEFAULT_OPTIONS+=“ +xinerama”
  • Search for the String “XFIXES”, and when you encounter a line like this one, make sure there's the plus sign in front of “extension”: X2GO_NXAGENT_DEFAULT_OPTIONS+=“ +extension XFIXES”

Also on the X2GoServer, verify that /usr/bin/x2goagent is a symlink pointing to /usr/bin/nxagent.

Next, disable XINERAMA in your X2GoClient's session profile(s).

You should also add the Arctica repo on the client where you wish to use X2GoClient, and run apt-get update && apt-get dist-upgrade -d -y && apt-get upgrade -y && apt-get dist-upgrade -y on it.

If you don't/can't do that (e.g. because you're running Windows or macOS on your client), connecting with X2GoClient should still work, though you might not experience all the benefits of the new NX-Libs.

When your first session is up and running check the following on the server:
  1. ps u -C x2goagent (identify the pid of your session's x2goagent)
  2. grep -e libX11 -e libNX_X11 /proc/<pid>/maps

This should only show libraries from the nx installation directory, not from the system.

Reporting Bugs

Please follow the instructions listed at Reporting Bugs. Do subscribe to the X2Go-Dev Mailing List beforehand, please (instructions on how to do that are linked within that page). It may well be possible that your bug report gets forwarded to Arctica, so you might want to subscribe to their mailing list(s) as well.

Also, when reporting a bug, please indicate which repositories you were using, and the X2Go/NX/Arctica-related package versions you have installed.


Most of the content of the initial revision of this page stems from an E-Mail by Walid Moghrabi, with some additional remarks by Ulrich Sibiller.

doc/howto/nx-libs-betatesting.txt · Last modified: 2018/04/02 09:52 by ionic