Configuration

In this article, some configuration options will be pointed out. Specific options are explained at their appropriate topics elsewhere on LTSPedia.

Server
The server variables can be set in multiple configuration files, one for each command. A special file is the common configuration file. This file is intended for the variables that are shared with all commands, but can also be used to set the configuration files of all commands.

ltsp-server.conf
The ltsp-server.conf file can be used to set configuration settings for your LTSP server environment. This file is sourced by all server commands but each variable can be overwritten by giving available command line options.

ltsp-build-client.conf
This file contains the install profile for ltsp-build-client. Most options of this command are distro specific. To view these, consult the documentation of your distro.

You can also have multiple ltsp-build-client configuration files, each on functioning as a different install profile. To call a custom config file do the following:

ltsp-chroot.conf
This file contains options for ltsp-chroot. When you have multiple architectures or names, typically only the MOUNT_ALL option is used.

Client
By default, most thin clients will automatically configure themselves correctly, and just work when they're plugged in. However, sometimes you may wish to customize their behaviour. You would do this by editing the lts.conf file.

By default the lts.conf should be located out of the chroot and into the TFTP directory, in /var/lib/tftpboot/ltsp/, where is the architecture you are working on (usually i386, but could be something else, like amd64 for example). This means you can make changes to the file immediately, and simply reboot the terminal, without recompiling the image.

For viewing all client settings, you have several options:
 * man page in the ltsp-docs package
 * online on Ubuntu.com
 * docbook xml source

Format
When LTSP was designed, one of the issues that needed to be dealt with was varying hardware configurations for the thin client. 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 thin clients to the network. So, LTSP devised a way of specifying the configuration of each thin client.

The format of the lts.conf allows for "default" settings and individual thin client settings. If all of your thin clients are identical, you could specify all of the configuration settings in the [Default] section. The file must have a first line containing [Default] in any case:

Section Headings
Section headings begin with an identifier in the form [Default] which is used for all computers as mentioned above, and [MAC address] for individual workstations, in the form of [XX:XX:XX:XX:XX:XX], where X is the digits 0-9, or A-F. You can usually read the MAC address for a network card from a sticker on the card itself, or use some kind of network tool to discover it. The best way to check for the MAC address of the machine is by starting it up, checking its IP number and doing a arp on the server, this should then tell you which IP number has which MAC address.

Variable Assignments
After the section heading, you can then define variables. Variables are either boolean values, requiring a True/False or Y/N answer, or string values. Note that you can either use True or False, Yes or No, or Y or N. Whichever you prefer. Other variables may simply be strings, supplied after the = sign. The general format of an assignment looks like:

Comments can be inserted into the file for your documentation purposes. Comments start with a # character, and everything after the # for the rest of the line is considered a comment.

LIKE
The LIKE keyword allows you to define a general set of parameters under a unique identifier, and then assign individual workstations that set of parameters using the LIKE keyword. An example will illustrate it's use.

Let's assume you have 3 kinds of thin clients on your network. One set, which are used in the lab, have older video cards, and must use 16 bit colour at 1024x768 resolution. Another set need to have their video ram set to 8 megs, and a third set which auto-detect everything correctly. We don't need to specify anything for the third set, but having some symbolic names for the first two would help us to maintain the file. Here's an example that illustrates how this would be done:

As you can see, using the LIKE keyword can make your lts.conf more readable, by allowing you to group related parameters together into a single symbolic name.

File
After booting a thin client, the file is located in /etc/lts.conf on the client. The file itself is parsed by LTSP to retrieve the values, but you can also view this yourself when on the client: