Setting Up Thin Clients

lts.conf entries

When LTSP was designed, one of the issues that needed to be dealt with was varying hardware configurations for the workstations. Certainly, whatever combination of processor, network card and video card available today would not be available in 3 months, when you want to add more workstations to the network.

So, LTSP.org devised a way of specifying the configuration of each workstation. The configuration file is called lts.conf and it lives in the /opt/ltsp/i386/etc directory.

The format of the lts.conf allows for 'default' settings and individual workstation settings. If all of your workstations are identical, you could specify all of the configuration settings in the '[Default]' section.

Sample lts.conf file

Here is an example of the lts.conf file:

[Default]
        SERVER             = 192.168.0.254
        X_MOUSE_PROTOCOL   = "PS/2"
        X_MOUSE_DEVICE     = "/dev/psaux"
        X_MOUSE_RESOLUTION = 400
        X_MOUSE_BUTTONS    = 3
        SCREEN_07          = ldm

[ws001]
        XSERVER            = auto
        X_MOUSE_PROTOCOL   = "Microsoft"
        X_MOUSE_DEVICE     = "/dev/ttyS1"
        X_MOUSE_RESOLUTION = 50
        X_MOUSE_BUTTONS    = 3
        X_MOUSE_BAUD       = 1200

Available lts.conf parameters

General parameters
Comments

Comments start with the hash '#' sign and continue through the end of the line.

Boolean values

Throughout this guide, many lts.conf parameters need a true or false value. For true values, any one of Y, y, True, or true will work. For false values, any one of N, n, False, or false will work.

SERVER

This is the server that is used for the XDM_SERVER, TELNET_HOST, XFS_SERVER and SYSLOG_HOST, if any of those are not specified explicitly. If you have one machine that is acting as the server for everything, then you can just specify the address here and omit the other server parameters. If this value is not set, it will be auto detected.

SYSLOG_HOST

If you want to send logging messages to a machine other than the default server, then you can specify the machine here. If this parameter is NOT specified, then it will use the 'SERVER' parameter described above.

NBD_SWAP

Set this to Y if you want to turn on NBD swap. The default is N

SWAP_SERVER

The NBD swap server can exist on any server on the network that is capable of handling it. You can specify the IP address of that server. The default is whatever the value of SERVER set to.

NBD_PORT

The port on which NBD swapping will occur. This is set to 9572 by default.

USE_LOCAL_SWAP

If you have a hard drive installed in the thin client, with a valid swap partition on it, this parameter will allow the thin client to swap to the local hard drive. The default is N.

TELNET_HOST

If the workstation is setup to have a character based interface, then the value of this parameter will be used as the host to telnet into. If this value is NOT set, then it will use the value of SERVER above.

DNS_SERVER

Used to build the resolv.conf file. Not needed by default.

SEARCH_DOMAIN

Used to build the resolv.conf file.

SCREEN_01 thru SCREEN_12

Up to 12 screen scripts can be specified for a workstation. This will give you up to 12 sessions on the workstation, each accessible by pressing the Ctrl-Alt-F1 through Ctrl-Alt-F12 keys.

SCREEN_07   = ldm
SCREEN_02   = shell

Currently, possible values include:

  • ldm: This is the default display manager. It collects a username and password, and then establishes a secure, encrypted tunnel to the server via ssh. This should be good for most environments, however, Edubuntu deployments with lower-powered clients or servers may find that the extra overhead involved in encrypting the X traffic might slow their sessions down too much.

  • sdm: Similar in functionality to ldm, but a little less graphically intensive.

  • startx: This option can be used for lower powered installations that can't support the encryption that the ssh tunnel provides. Enabling this will require you to turn on XDMCP for the gdm login manager. As an administrative user, go to System->Administration->Login Window, and in the "Remote" tab, change the drop down to "Same as local". Additionally, you may wish to click on the "Configure XDMCP" button on the lower corner, and increase the "Maximum remote sessions" to something a little higher than the number of thin clients you have. Please note that doing this means that all X Windows traffic on your network will be unencrypted.

    As well, in this mode, local device access or local sound will not work. This will be fixed in a future version of Edubuntu.

  • telnet: Text screen telnet into whatever host TELNET_HOST is set to.

  • shell: spawns a shell on the thin client. Useful for testing.

Look in the /opt/ltsp/i386/usr/lib/ltsp/screen.d directory for more screen scripts, or write your own, and put them there.

MODULE_01 thru MODULE_10

Up to 10 kernel modules can be loaded by using these configuration entries. The entire command line that you would use when running insmod can be specified here. For example:

MODULE_01   = uart401.o
MODULE_02   = "sb.o io=0x220 irq=5 dma=1"
MODULE_03   = opl3.o
                            

If the value of this parameter is an absolute pathname, then insmod will be used to load the module. Otherwise, modprobe will be used.

In normal circumstances, you shouldn't need to specify anything here, as most hardware will be auto-detected.

RCFILE_01 thru RCFILE_10

Additional RC scripts can be executed by the ltsp-client-setup script. Just put the script in the /opt/ltsp/i386/etc/init.d directory, and specify the name of the script in one of these entries.

SOUND

This parameter enables sound for the thin client. The default is Y.

LOCALDEV

This parameter enables local devices support, like CD's and USB sticks. Users plugging them in should see them on the desktop, after they've been added to the fuse group. The default is Y.

CONSOLE_KEYMAP

Allows you to specify a valid console keymap for TELNET_HOST sessions. Default is en.

X-Windows parameters
XDM_SERVER

If you want to point XDM to a machine other than the default server, then you can specify the server here. If this parameter is NOT specified, then it will use the 'SERVER' parameter described above. This parameter is used for the "startx" screen script.

XSERVER

This defines which X server the workstation will run. For PCI and AGP video cards, this parameter should not be required. The ltsp-client-setup script should be able to auto-detect the card. You can also set this value to auto to indicate that it should attempt to auto-detect the card.

If, for some reason you do need to manually set it, here are the valid values:

  • ark

  • ati

  • atimisc

  • chips

  • cirrus_alpine

  • cirrus

  • cirrus_laguna

  • cyrix

  • dummy

  • fbdev

  • fglrx

  • glint

  • i128

  • i740

  • i810

  • imstt

  • mga

  • neomagic

  • newport

  • nsc

  • nv

  • r128

  • radeon

  • rendition

  • riva128

  • s3

  • s3virge

  • savage

  • siliconmotion

  • sis

  • sisusb

  • tdfx

  • tga

  • trident

  • tseng

  • v4l

  • vesa

  • vga

  • via

  • vmware

  • voodoo

X_MOUSE_DEVICE

This is the device node that the mouse is connected to. If it is a serial mouse, this would be a serial port, such as /dev/ttyS0 or /dev/ttyS1. This is not needed for PS/2 or USB mice, as they are auto-detected.

X_MOUSE_PROTOCOL

Should be auto-detected. However, valid entries include:

  • sunkbd

  • lkkbd

  • vsxxxaa

  • spaceorb

  • spaceball

  • magellan

  • warrior

  • stinger

  • mousesystems

  • sunmouse

  • microsoft

  • mshack

  • mouseman

  • intellimouse

  • mmwheel

  • iforce

  • h3600ts

  • stowawaykbd

  • ps2serkbd

  • twiddler

  • twiddlerjoy

X_MOUSE_EMULATE3BTN

Normally unset, may need to be set to Y for certain 2 button mice.

X_COLOR_DEPTH

This is the number of bits to use for the color depth. Possible values are 8, 16, 24 and 32. 8 bits will give 256 colors, 16 will give 65536 colors, 24 will give 16 million colors and 32 bits will give 4.2 billion colors! Not all X servers support all of these values. The default value for this is 16

USE_XFS

You have a choice of running the X Font Server (XFS) or reading the fonts through the NFS file system. The font server should provide a simple way of keeping all of the fonts in one place, but there has been some problems when the number of workstations grows past about 40. The 2 values for this option are Y and N. The default value is N. If you do want to use a font server, then you can use the XFS_SERVER entry to specify which host will act as the font server.

XFS_SERVER

If you are using an X Font Server to serve fonts, then you can use this entry to specify the IP address of the host that is acting as the font server. If this is not specified, it will use the default server, which is specified with the SERVER entry described above.

X_HORZSYNC

This sets the X.org HorizSync configuration parameter. This should be auto-detected for your monitor, however, if you want to force a lower resolution, use this parameter to do so.

X_VERTREFRESH

This sets the X.org VertRefresh configuration parameter. This should be auto-detected for your monitor, however, if you want to force a lower resolution, use this parameter to do so.

XF86CONFIG_FILE

If you want to create your own complete XF86Config file you can do so and place it in the /opt/ltsp/i386/etc directory. Then, whatever you decide to call it needs to be entered as a value for this configuration variable. For example:

XF86CONFIG_FILE = XF86Config.ws004 

Keyboard parameters

All of the keyboard support files are copied into the /opt/ltsp/i386 hierarchy, so configuring international keyboard support is simply a matter of configuring X.org. There are several configuration parameters for this.

The values for the above parameters are from the X.org documentation. Whatever is valid for X.org is valid for these parameters.

We would like to add documentation to show what values are needed for each type of international keyboard. If you work with this and can configure your international keyboards, feedback to Edubuntu would be greatly appreciated.

XKBLAYOUT

Consult the X.org documentation for valid settings.

XKBMODEL

Consult the X.org documentation for valid settings.

XKBVARIANT

Consult the X.org documentation for valid settings.

XKBRULES

Consult the X.org documentation for valid settings.

XKBOPTIONS

Consult the X.org documentation for valid settings.

Printer configuration parameters

A printer can be connected to a diskless workstation. A serial, parallel, or USB printer can be configured via the following entries in the lts.conf file:

PRINTER_0_DEVICE

The device name of the printer. Names such as /dev/lp0, /dev/ttyS0 or /dev/usblp0 are allowed.

PRINTER_0_TYPE

The type of the printer. Valid choices are 'P' or for Parallel, 'S' for Serial, and 'U' for USB.

PRINTER_0_PORT

The TCP/IP Port number to use. By default, it will use '9100'

PRINTER_0_SPEED

If the printer is serial, this is the setting that will select the baud rate. By default, '9600' will be used.

PRINTER_0_FLOWCTRL

For serial printers, the flow control can be specified. Either 'S' for Software (XON/XOFF) flow control, or 'H' for Hardware (CTS/RTS) flow control. If neither is specified, 'S' will be used.

PRINTER_0_PARITY

For serial printers, the Parity can be specified. The choices are: 'E'-Even, 'O'-Odd or 'N'-None. If not specified, 'N' will be used.

PRINTER_0_DATABITS

For serial printers, the number of data bits can be specified. The choices are: '5', '6', '7' and '8'. If not specified, '8' will be used.