Installing the Latest (As of Oct 2005) FreeNX Server on Novell Linux products
Novell Cool Solutions: Feature
By Peter Van den Wildenbergh
Reader Rating
from 7 ratings
|
Digg This -
Slashdot This
Posted: 25 Oct 2005 |
License and Disclaimer
See http://www.opencontent.org/opl.shtml for the full software and documentation license. Basically, you can copy, redistribute, or modify this "how to," provided that modified versions, if redistributed, are also covered by the OpenContent License. Please e-mail a copy of your modified document to pvdw <@> criticalcontrol <.> com. Use this document at your own risk; it comes with no warranty. See the OpenContent License mentioned above.
Overview
This article describes the steps needed to install FreeNX 1.4.4 on a SLES 9 server or SUSE 9.x workstation from scratch. Although the procedure is only tested on both Novell distributions by the author, it should work on any other Linux distribution.
Warning: Once you used NX you'll NEVER GO BACK to VNC...
It is fast (compression and cache technology applied to the X protocol), allowing you to work remotely using a higher resolution,... and secure (it runs over SSH).
Prerequisites
- computer with SUSE 9.x or SLES 9 installed and fully patched. If not done during the initial SUSE/SLES installation, install the C/C++ Compiler and Tools package now, using YaST – Install and remove software.
- sshd must be running as a daemon on port 22.
- basic Linux knowledge always helps; basics of vi (to add 1 line on the bottom of a file) and YaST to search for installed packages and install missing components are must haves.
0. Get started
Open up a command line shell as root.
- Download the sources from http://www.nomachine.com:
- Unpack all the goodies at once:
- Compile the nx sources:
- libjpeg-devel
- openssl-devel
- netcat
- expect
- Download and install the FreeNX scripts. Make sure netcat and expect are installed, FreeNX depends on it.
- Putting things into place, create a lib and bin directory in /usr/NX. (The bin directory might be already there, created during the make install for nxdesktop)
- Finish up by creating a nx user, generating the famous ssh keys (50% of the questions about installing FreeNX on the FreeNX mailing list are 'ssh' related...) and starting the nx server. This sounds like a lot of work but is all done in one command:
- Allow FreeNX 1.4.4 to talk to a 1.5 client.
- Download and install a client.
cd /usr mkdir NX cd NX/ wget http://64.34.161.181/download/1.5.0/sources/nxproxy-1.5.0-9.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxcomp-1.5.0-65.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxcompext-1.5.0-16.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxssh-1.5.0-21.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxuexec-1.5.0-3.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxspool-1.5.0-2.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxsensor-1.5.0-5.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nx-X11-1.5.0-15.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxwin-1.5.0-6.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxauth-1.5.0-1.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxagent-1.5.0-93.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxviewer-1.5.0-14.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxdesktop-1.5.0-75.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxesd-1.5.0-3.tar.gz wget http://64.34.161.181/download/1.5.0/sources/nxscripts-1.5.0-11.tar.gz
find . -name "*tar.gz" -exec tar -zxf {} \;
cd /usr/NX/nx-X11/ make WorldThis may take a while, if make World stops with an error it probably fails because it cannot find the necessary libraries, header files etc. Check for the exact error message and add the required package(s) by using YaST. (or apt-get, emerge,... depending on your distribution). On a typical SUSE 9.x or SLES 9 installation that does have the C/C++ you may want to check for the following packages that are required:
and, of course, it also depends on X (If you have a graphical environment than this is installed...)
if you don't have a graphical environment why would you install FreeNX...?
If it failed, try make World again. You can retry without manually removing earlier compiled nx sources, make World will cleanup previous attempts for you.
cd /usr/NX/nxdesktop/ ./configure make make install cd ../nxproxy/ ./configure make
cd /usr/NX wget http://debian.tu-bs.de/knoppix/nx/freenx-0.4.4.tar.gz tar -zxf freenx-0.4.4.tar.gz cd freenx-0.4.4/ patch <gentoo-nomachine.diff cd ..
A geeky line to copy all the FreeNX executables towards /usr/NX/bin:
find . -type f -perm +u+x -exec cp -a {} ./../bin/ \;
Making sym-links in /usr/bin to the executable in /usr/NX/bin is not really needed but makes life easier...
ln -s /usr/NX/bin/nxdesktop nxdesktop ln -s /usr/NX/bin/nxkeygen nxkeygen ln -s /usr/NX/bin/nxloadconfig nxloadconfig ln -s /usr/NX/bin/nxnode nxnode ln -s /usr/NX/bin/nxnode-login nxnode-login ln -s /usr/NX/bin/nxproxy nxproxy ln -s /usr/NX/bin/nxprint nxprint ln -s /usr/NX/bin/nxserver nxserver ln -s /usr/NX/bin/nxsetup nxsetup ln -s /usr/NX/bin/nxclient nxclient
nxsetup --install --uid 80 --gid 100Check if the server is running:
nxserver --statusWhich should respond with:
NX> 100 NXSERVER - Version 1.4.0-44 OS (GPL) NX> 110 NX Server is running NX> 999 Bye
cd /usr/NX/etc/ cp /usr/NX/freenx-0.4.4/node.conf.sample node.conf vi node.confAt the bottom of the file, add:
ENABLE_1_5_0_BACKEND="1"
Whenever you change node.conf there is NO need to restart nxserver!
If you don't have a user configured on the Linux nx-server you have to create one. (Testing with root will fail!)
useradd -c "Peter Linux" -d "/home/peter" -g 100 -m -u 500 -s /bin/bashand set a password
passwd peter
Go to http://www.nomachine.com/download.php and download a 1.5 NX Client for your client platform.
The ssh client.id_dsa.key you need to copy to the client will be on the server in /usr/NX/home/nx/.ssh/client.id_dsa.key.
Install the client, make sure you import the right key (during initial configuration) and login.
Note: Installing FreeNX on SUSE 10–
Compiling from source following the instructions above will fail, but...
SUSE 10 comes with a FreeNX rpm (Version 1.4.4)
After you installed the rpm :
yast -i FreeNX-0.4.4-4.rpmrun
nxsetup --install --uid 80 --gid 100
The adjustment to allow 1.5 clients is still needed.
You will find node.conf in /etc/nxserver/
/var/lib/nxserver/home/.ssh/client.id_dsa.key
Appendix
Additional Documentation Sources
Where it all begins:
http://www.nomachine.com
HOWTO setup FreeNX on Fedora:
http://fedoranews.org/contributors/rick_stout/freenx/
It is worth a read, especially the "Hints, tricks and other..." section
About the Author
Peter Van den Wildenbergh is a Senior Linux Administrator and a Linux advocate. He can be reached at: pvdw <@> criticalcontrol <.> com. CriticalControl Solutions is an IT solution provider based in Calgary, Alberta, Canada. For more info visit http://www.criticalcontrol.com.
Reader Comments
- It's not quite as widely supported as VNC though, eh? A half-dozen linux distros and Solaris, while VNC is available for anything with a display and a network connection. Reply: NX Clients run on Windows, Linux, Mac OSX (BSDs), Solaris and apparently on some PDA's. Server runs on AFAIK ALL linx distro's, not half a dozen. NX is more secure and faster than vnc. NX can do even more: it can also convert RDP (Remote Desktop Protocol, used by Windows Terminal Servers) and RFB (used by VNC servers) to NX and thereby increase efficiency of these two protocols by a factor of up to 10 across slow links (even if you compare it to TightVNC!). A possible setup : Windows Terminal Server --lan--> NXServer --wan--> NX Client Start reading here http://www.linuxjournal.com/article/8477 Both systems are "free" and open source so as per usual YOU "HAVE TO" CHOOSE...
- Very nice! I -think- FreeNX comes with SUSE 10 (or it may have been in one of the APT repositories I've use) , so if you just want to access your home computer then you can use YAST (or apt / synaptic). Also, there is a free NXclient for KDE called kNX. My experience is that it isn't mature enough yet - it does not work - but your milage may vary.
- Great hints! Thanks for the nice work. Made my whole nx system work... Just had a problem with the install of /usr/NX/lib that didn't get covered in your instructions (but is well described in the Free-0.4.4/INSTALL file. NX rocks!!!!
- Great article. Just a couple of things to add 1) Need to add nx and other users that will connect to the sshlogin group in /etc/group 2) Need to import the client.id_dsa.key in the Configuration->General area other wise authentication will not work.
- FreeNX on SLE10 Just tried the following packages 1. nxclient-2.1.0-11.i386.rpm 2. nxnode-2.1.0-15.i386.rpm 3. nxserver-2.1.0-17.i386.rpm from NoMachine on SLE10. they work fine
Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com
