Run and configure FreeNX on Ubuntu 12.10

What is FreeNX?

FreeNX is a Thin Client tool that allows you to establish a graphical session to your Linux desktop. It is optimised to reduce the bandwidth requirements and runs over a secure SSH session. In some ways it is very similar to Microsoft’s Remote Desktop Client.

Installing FreeNX on Ubuntu 12.10 has a few challenges that this article should hopefully overcome for you.


First you need to add the official PPA by opening a terminal and running the following commands

sudo add-apt-repository -y ppa:freenx-team/ppa
FreeNX on this PPA is only available for LTS releases so you need to cheat by opening a terminal and run the following command.

sudo sed -i s/quantal/precise/g /etc/apt/sources.list.d/freenx-team-ppa-quantal.list
Refresh your package list sudo apt-get update

Then install the required packages (openssh-server will be pulled automatically if you don’t have it already installed)

sudo apt-get install freenx-server gnome-session-fallback
You probably noticed that I am installing the gnome-session-fallback package, that’s because FreeNX doesn’t work with compositing and requires a window manager that can be run without hardware acceleration.

In a perfect world, you would just need to configure a NX client to connect to your system and everything would be fine but then this article would be pretty pointless

Making it actually work

Force Gnome fall-back as the default session manager

sudo vi /etc/nxserver/node.conf
Identify the section containing the following text

# The key that contains the name of the script that starts a gnome session.
# It's run when a 'unix-gnome' session is requested by the client.
#COMMAND_START_GNOME='gnome-session --session gnome-fallback'

Remove the # in front of COMMAND_START_GNOME and save

No fonts are displayed in your session

This one really took me a long time to find! It appears to be a bug in libcairo version 1.12

sudo vi /etc/nxserver/node.conf
Looks for the following line

#AGENT_EXTRA_OPTIONS_X=”-nolisten tcp”
and replace it by

AGENT_EXTRA_OPTIONS_X=”-norender -nolisten tcp”

That should be it, everything should be working fine now


1 ping

Skip to comment form

  1. Thank you for sharing – this worked for me.

      • fmo
      • fmo on 19/02/2013 at 21:02

      Excellent, thanks for letting me know 🙂

    • Bikeman on 10/03/2013 at 13:14

    This came up as one of the first results in Google, and I’m happy to report that everything seems to work as described!

    NX doesn’t seem to be as fast as RDP to a Windows machine, but at least it can work on a headless server ànd it’s faster than VNC.

    Thanks for the tips!

      • fmo
      • fmo on 10/03/2013 at 21:56

      No worries, glad it helped 🙂

    • fmo
    • fmo on 04/05/2013 at 09:10

    What error do you get after running through the tutorial?

  1. […] hell: I tried to follow both official ubuntu documentation and different tutorials (such as this one which should be specifically tailored on Ubuntu 12.10), but I always ended up with errors and a […]

Comments have been disabled.