LTSP Workstation Technical Documentation

LTSP is the Linux Terminal Server Project.

In the space, the server is set up to network boot LTSP workstations. The workstations are set up with utilities, development tools, diagnostic tools, editors, office suite, etc.

You can log in using your account on epidural if you have one, or by pressing the “Login Guest” button to use the guest 'mhvuser' account.

If you use an account, the home directory on each workstation is the same home directory you have on epidural.

Normally, LTSP use “thin clients” which are dumb X Terminals to a main server. Since LTSP 5.2, there is support for “fat clients” as well - where programs run on the workstation computer instead of on the server. We're using this “fat client” support.

When a workstation boots, it PXE boots a Linux kernel with a squashfs rootfs image sent from the server. When you login, the login goes via the server & ssh. At login time, the server mounts your home folder with sshfs.

More information available in the Ubuntu docs.

Officially, in LTSP 5.2 fat clients are only supported in Ubuntu. We're running the Ubuntu plugin with a few tweaks for Debian.

The setup runs pretty well, although there are a few oddities (such as being unable to lock your screen.)

  • TFTP root for LTSP PXE boot is /var/lib/tftpboot/ltsp/i386/
  • pxelinux config /var/lib/tftpboot/ltsp/i386/pxelinux.cfg/default specifies a boot menu w/ options for booting the workstation or booting the local disk.
  • chroot used for building the LTSP boot image is /opt/ltsp/i386
  • LTSP config file is /opt/ltsp/i386/etc/lts.conf

There are many options for adding a new program to the workstation. If you don't have admin access then you may have to ask someone with admin access to do it for you.


  1. Install directly on the workstation, temporarily. Users w/ sudo access on the server have passwordless sudo on the client. You can install anything you like (RAM permitting), the squashfs overlay is temporary and will go away when the workstation restarts.
  2. Install on the server. For command-line tools you can always install them on morphia and just use ssh to access them (remember your home folder in morphia is the same as your home on the LTSP client.)
  3. Install permanently in the workstation image. On the server, you can chroot into the workstation image with
    sudo ltsp-chroot -pc --arch=i386

    Then you have a chroot in the workstation (with /proc & dpkg cache mounted.) You can get apt-get install anything you like, and/or edit configuration. When you're done, exit the chroot and rebuild the image:

    sudo ltsp-update-image --arch=i386

    Rebuilding the image takes ~10 minutes, which is why this approach is a bit awkward (but you don't permanently add an app very often.) Reboot the workstation to bring the new image up.

  4. Install permanently to your home folder. This is permanent, and you don't need any admin access.

If you set a hostname on the workstation (by adding it as a static entry in /etc/dhcp/dhcpd.conf), then you can easily define local printers or other machine-specific scripts or resources at /opt/ltsp/i386/etc/lts.conf

See the adminputer setup for an example.

You will need to run ltsp-update-image when done.

If you want to build a different workstation (maybe XFCE4 or Ubuntu or something), there are additional command-line options for ltsp-build-image that let you specify different chroot names and/or architectures.

  • tech_docs/ltsp_workstations.txt
  • Last modified: 2013/10/31 21:24
  • (external edit)