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.
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.
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”).
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 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
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
Another sources of information about FreeNX (and some helpful debugging hints) are: