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

6 pings

  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.