This wiki was updated to MediaWiki 1.37. If you notice any issues, please report them to admin[at]

Archive:LTSP 4.2

Jump to: navigation, search


The installation of LTSP 4.2 on openSUSE follows the workflow described in the main manual.

Using FreeNX

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:

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:

cd NX1.5.0-141_LTSP/

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

Technical notes

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.