User Tools

Site Tools


FreeNX Installation on Slackware


This is a small howto install FreeNX on Slackware (but it could be probably used as a reference for other distros too). The example here is based on Slackware 13.0 and version 3.4.0 (march 2010) for nx libraries.

What's FreeNX?

FreeNX is a Free Software (GPL) Implementation of the NX Server. Core libraries are provided by nomachine and they also provide a free (but limited) and commercial server. For more about limitations and features check this page.

Download and compile NX libraries

Before installing the FreeNX server, we need to have NoMachine NX libraries (nxlibs) installed. There's basically two ways of installing the nxlibs, either through the package system for your distribution, or compiling and installing it yourself. We choose to compile ourselves the code so…

NX libraries - these are available at nomachine website.

Create a directory where the sources will be put.

mkdir /tmp/nxsources; cd /tmp/nxsources

Then, download the following files:

1. nxproxy

2. nxcomp

3. nxcompext

4. nx-X11

5. nxagent

6. nxauth

7. nxcompshad

Extract them with

find -name '*.tar.gz' -exec tar -xzf {} \;

(in the end you should see something as: “Full build of Release 6.9 complete.”)

Then, compile:

1. NX-X11 (will take a while)

cd nx-X11; make World; cd ..


cd nxproxy; $ ./configure && make; cd ..

And copy the libraries in place:

$ mkdir -p ${NXPREFIX}/lib ${NXPREFIX}/bin
$ cp -a nx-X11/lib/X11/* ${NXPREFIX}/lib
$ cp -a nx-X11/lib/Xext/* ${NXPREFIX}/lib
$ cp -a nx-X11/lib/Xrender/* ${NXPREFIX}/lib
$ cp -a nxcomp/* ${NXPREFIX}/lib
$ cp -a nxcompext/* ${NXPREFIX}/lib
$ cp -a nx-X11/programs/Xserver/nxagent ${NXPREFIX}/bin
$ cp -a nxproxy/nxproxy ${NXPREFIX}/bin
$ cp -a nxcompshad/* ${NXPREFIX}/lib

Note: As from NX-libraries v3.x.x the components 'nxdesktop' and 'nxviewer' are not needed anymore - use standard 'rdesktop' and 'vncviewer' instead (just enable these in node.conf; ENABLE_EXTERNAL_NXDESKTOP=“1” and ENABLE_EXTERNAL_NXVIEWER=“1”).

Install FreeNX package

This is done very easily using a packets management on slackware, for example:

slapt-get --install freenx-server

And then install it (and optionally test it):

/usr/NX/bin/nxsetup --install
/usr/NX/bin/nxsetup --test ; to test it


The configuration file should reside in /usr/NX/etc/node.conf (copy to node.conf and modify as needed).
If you choose to generate custom ssh keys (recommended), copy-paste in your client configuration the content of client.id_dsa.key (/usr/NX/home/nx/.ssh/)
Start the server with /usr/NX/bin/nxsetup –start


If during the nxsetup –install you see a message regarding the nxagent, try to run it separately. If you'll encounter such message: “/usr/NX/bin/nxagent: error while loading shared libraries: cannot open shared object file: No such file or directory” apply the following solution:

ln -s /usr/NX/lib/ /usr/lib
ln -s /usr/NX/lib/ /usr/lib
ln -s /usr/NX/lib/ /usr/lib


Another sources of information about FreeNX (and some helpful debugging hints) are:

net/freenx_slackware.txt · Last modified: 2013/03/16 17:40 (external edit)