User Tools

Site Tools


net:freenx_slackware

FreeNX Installation on Slackware

30.03.2010

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
wget http://64.34.161.181/download/3.4.0/sources/nxproxy-3.4.0-2.tar.gz

2. nxcomp
wget http://64.34.161.181/download/3.4.0/sources/nxcomp-3.4.0-6.tar.gz

3. nxcompext
wget http://64.34.161.181/download/3.4.0/sources/nxcompext-3.4.0-1.tar.gz

4. nx-X11
wget http://64.34.161.181/download/3.4.0/sources/nx-X11-3.4.0-3.tar.gz

5. nxagent
wget http://64.34.161.181/download/3.4.0/sources/nxagent-3.4.0-5.tar.gz

6. nxauth
wget http://64.34.161.181/download/3.4.0/sources/nxauth-3.4.0-2.tar.gz

7. nxcompshad
wget http://64.34.161.181/download/3.4.0/sources/nxcompshad-3.4.0-3.tar.gz

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 ..

2. NXPROXY

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

And copy the libraries in place:

$ NXPREFIX=/usr/NX
$ mkdir -p ${NXPREFIX}/lib ${NXPREFIX}/bin
$ cp -a nx-X11/lib/X11/libX11.so* ${NXPREFIX}/lib
$ cp -a nx-X11/lib/Xext/libXext.so* ${NXPREFIX}/lib
$ cp -a nx-X11/lib/Xrender/libXrender.so* ${NXPREFIX}/lib
$ cp -a nxcomp/libXcomp.so* ${NXPREFIX}/lib
$ cp -a nxcompext/libXcompext.so* ${NXPREFIX}/lib
$ cp -a nx-X11/programs/Xserver/nxagent ${NXPREFIX}/bin
$ cp -a nxproxy/nxproxy ${NXPREFIX}/bin
$ cp -a nxcompshad/libXcompshad.so* ${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

Configuration

The configuration file should reside in /usr/NX/etc/node.conf (copy node.conf.new 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

Debug

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: libXcomp.so.3: cannot open shared object file: No such file or directory” apply the following solution:

ln -s /usr/NX/lib/libXcomp.so.3 /usr/lib
ln -s /usr/NX/lib/libXcompext.so.3 /usr/lib
ln -s /usr/NX/lib/libXcompshad.so.3 /usr/lib

References

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)