On a Debian 4.0 (Etch) or newer system:

1. If you have a DHCP server already up and running on your network:

apt-get install ltsp-server openssh-server  

Otherwise, if you want your LTSP server to function as the DHCP server:

apt-get install ltsp-server-standalone openssh-server 

2. Build the LTSP client environment:

ltsp-build-client

If you're installing a different debian distribution than what's on the server, you will need to specify the --dist xxx commandline option. where xxx is your Debian distribution (e.g. lenny, etch). See /usr/share/debootstrap/scripts/.

Build client will download a complete Debian filesystem into /opt/ltsp/i386 or specify a location with '--base'. Chroot into the client tree and perform setup tasks such as adding users and installing a graphical environment. Build-client installed into the the client tree the ltsp-client package which provides the ldm display manager, so for your graphical environment you'll also need to install a desktop environment like xfce and a window manager like metacity.

The 2 ltsp configuration files inside the client are /etc/lts.conf and /etc/default//ltsp-client-setup. See the examples in /usr/share/doc/ltsp-client-core. Also see the Edubuntu wiki http://doc.ubuntu.com/edubuntu/edubuntu/handbook/C/customizing-thin-client.html

The files the client will boot are installed on the server into/var/lib/tftpboot.

3. Configure /etc/dhcp3/dhcpd.conf:

See examples in /usr/share/doc/ltsp-server/examples/dhcpd.conf and /etc/ltsp/dhcpd.conf and adapt to your network.

etch and lenny (as of Feb. 08) are still affected by: http://bugs.debian.org/416868 so you need to add this line if the dhcp server and tftp server are the same:

next-server ip.address.of.server;

Alternately, configure /etc/dnsmasq.conf:

See examples in /usr/share/doc/ltsp-server/examples/dhcpd-dnsmasq and /etc/ltsp/dhcpd-dnsmasq and adapt to your network.

4. Configure /etc/exports:

/opt/ltsp *(ro,no_root_squash,no_subtree_check)

5. Edit /etc/default/default/tftpd-hpa to allow the Daemon to start

RUN_DAEMON="yes"

6. Restart dhcp3-server and tftpd-hpa from the scripts in /etc/init.d

7. Boot a PXE or Etherboot capable machine and enjoy. note that some older versions of etherboot do not support ELF images, and may not work without additional configuration.

Backported packages for etch

If you want to use newer LTSP related packages (with ltspfs and pulseaudio sound):

1. Add the key(s) for the repository to your keyring(after verifying that you trust them):

  1. wget http://pkg-ltsp.alioth.debian.org/debian/pkg-ltsp-keyring

  2. apt-key add pkg-ltsp-keyring

2. Add to /etc/apt/sources.list:

3. Update:

4. Install new packages:

5. When building a chroot, you'll need to tell it to use the backport sources:

 ltsp-build-client \   --extra-mirror "http://pkg-ltsp.alioth.debian.org/debian etch-ltsp-backports main" \   --apt-key /etc/apt/trusted.gpg

to get sound working with pulseaudio+alsa:

to get local devices working with ltspfs (usb sticks, cdrom, floppy):

1. echo fuse >> /etc/modules

2. modprobe fuse (or reboot your server)

3. adduser fuse USER

for some additional troubleshooting, try: http://wiki.ubuntu.com/DebugLocalDev

Known issues with backports(that do not appear in sid):

1. ldm: login screen shows white background (background image is hidden). no known workaround at this time.

2. ltspfs: mounts appear strange when running df. util-linux 2.13 fixed this bug, however it is still present in etch. workaround is to make /etc/mtab a symlink to /proc/mounts: mv /etc/mtab /etc/mtab.old ; ln -s /proc/mounts /etc/mtab

3. ltsp-client: hostname displays as (none). workaround set up dns on the thin-client network, or: echo ltsp > /opt/ltsp/i386/etc/hostname

if X doesn't automatically configure properly (it uses X.org's built-in configuration, which doesn't work as well on the version on X.org in etch), you may want to switch back to the slower but more reliable X configuration using xdebconfigurator:

1. chroot /opt/ltsp/i386 apt-get install xdebconfigurator

2. cp /opt/ltsp/i386/usr/share/doc/ltsp-client-core/examples/configure-x-xdebconfigurator.gz /opt/ltsp/i386/etc/

3. gunzip /opt/ltsp/i386/etc/configure-x-xdebconfigurator.gz

4. chmod +x /opt/ltsp/i386/etc/configure-x-xdebconfigurator

5. echo CONFIGURE_X_COMMAND=/etc/configure-x-xdebconfigurator >> /opt/ltsp/i386/etc/lts.conf

6. echo 'copy_dirs="$copy_dirs /var/cache/debconf"' >> /opt/ltsp/i386/etc/default/ltsp-client-setup

7. echo 'temp_copy_dirs=" "' >> /opt/ltsp/i386/etc/default/ltsp-client-setup