The installation of LTSP 4.2 on openSUSE follows the workflow described in the main manual.
Here's a short summary for using FreeNX instead of the standard X11 connections for the Server and Clients.
First, you need to setup FreeNX on your Linux Terminalserver. This enables you to get fast remote connections even if your terminalserver is just equipped with a low bandwith internet access or WLAN.
Please note: This adds the server capabilites of NX to your Linux Terminalserver, if you want your diskless clients to connect to a remote NX server, you might want to have a look at the sections below.
The startnx screen script
Please download the latest NX_LTSP package from Sourceforge to a temporary folder: http://sourceforge.net/projectshowfiles.php?group_id=110959&package_id=134524
Within this archive you can find the files that I needed to add to the default LTSP tree get the NX client working on LTSP.
Now unpack the file into your temporary folder with (Note: the Version might change):
cd /tmp; tar -xf NX1.5.0-141_LTSP_0.8.tgz
afterwards, 'cd' into the new folder:
You'll notice within this directory, I have a subdirectory that looks like the ltsp_tree i386/... . Copy the files from this tree to their respective folders in your tree (be careful to preserve symbolic links with a "cp -a" option):
cp -a i386/ /opt/ltsp/
Once you've finished copying the files, you must copy the NX Server's client.id_dsa.key file to the LTSP tree. If you are using the FreeNX server on the LTSP server, you can do this simply by executing:
cp /usr/share/knx/client.id_dsa.key /opt/ltsp/i386/usr/NX/share/client.id_dsa.key.session chmod 644 /opt/ltsp/i386/usr/NX/share/client.id_dsa.key.session
If you want to connect to a different server, then you must place its key in /opt/ltsp/i386/usr/NX/share/client.id_dsa.key.session instead.
If you plan on connecting to different servers on different screens on the same terminal, place the appropriate key for each server as /opt/ltsp/i386/usr/NX/share/client.id_dsa.key.<session_name>. Then, you can start the second NX session as: startnx <ip> -n <session_name>. The default session is simply called "session", which is what is used if none is specified.
Changes in lts.conf
Now you can add:
SCREEN_02 = startnx
or replace the original line
SCREEN_01 = startx
to enable FreeNX.
The startnx script allows a few options which can be added in lts.conf (but this is normally not necessary):
Usage: startnx server[:port] [options] [nx arguments...] Options: --mem_cache|-m Size of memory cache (MB) (default: 32M) --disk_cache|-d Size of disk cache (MB) (default: 0M) --keyboard|-k Keyboard Layout (current) --removable_media|-r Enable removable media (false|true) --ssl|-s SSL Encryption (true|false) --desktop|-p Desktop to run (GNOME|KDE|default|<cmd>) --complevel|-c Compression level (modem,isdn,adsl,wan,lan) --audio|-a Audio (true|false) --session|-n Session Name --rdp_colordepth|-C RDP Color Depth --rdp_domain|-D RDP Domain --rdp_pass|-P RDP Password --rdp_user|-Q RDP Username --rdp_app|-R RDP Application --rdp_server|-S RDP Server --vnc_server|-V VNC Server --vnc_pass|-W VNC Password --vnc_display|-X VNC Display --help,-? Display this message
To workaround the fact that nxclient cannot be run as the root window, there's a script in /opt/ltsp/i386/usr/bin/startnx, respawning nxclient as necessary and keeping the root window alive and active. Please have a look into this script (or call /usr/bin/startnx --help on a clients xterm) for configuration details.