Revision 2 as of 2005-07-02 17:29:58

Clear message

Thin Client How-To

NOTE: This software is currently in a pre-alpha state. This means that you probably won't be happy with it unless you enjoy helping to track down bugs. If you're looking for something production-ready, head over to the [ LTSP] site.


You will need:

  • An Ubuntu "breezy" system to be the server (the current development branch, to be released in October 2005)
  • At least one PXE-bootable system to be a client
  • A bunch of disk space
  • A fast network connection, or a local Breezy mirror, or some patience
  • A DHCP server which is capable of supporting PXE clients, or a separate network segment where you can run a dedicated DHCP server
  • Command-line familiarity
  • A sense of adventure
  • A burning desire to send feedback to [ ubuntu-devel]

Getting Started

  1. Set up the DHCP server
    • If you have an existing DHCP server which can support PXE clients:
      • Configure it to pass a boot filename of /ltsp/pxelinux.0 and a root path of /opt/ltsp/i386

      • For ISC DHCPD, use the following options:

        filename "/ltsp/pxelinux.0";
        option root-path "/opt/ltsp/i386";
      • Install ltsp-server on the server: {{{sudo apt-get install ltsp-server`


  • If you want to run a dedicated DHCP server on the thin client server:
    1. Install ltsp-server-standalone on the server: {{{sudo apt-get install ltsp-server-standalone`


  1. Replace /etc/dhcp3/dhcpd.conf with the following contents, or adapt to your needs:

    subnet netmask {
      option domain-name-servers;
      option subnet-mask;
      filename "/ltsp/pxelinux.0";
      option root-path "/opt/ltsp/i386";
  1. Build the thin client runtime environment: {{{sudo ltsp-build-client


  • This script is hardcoded to use a particular Ubuntu mirror, so you may wish to edit it if you have a nearby mirror
  1. Check /opt/ltsp/i386/etc/ssh/ssh_known_hosts and ensure that your host key is associated with your host's IP address. Depending on your /etc/hosts configuration, this may not always be correct automatically (yet). If it looks like this:

    servername ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEArJSaOcb6RCiDi57bzF8x9tAG1gFuhfAAtVFJYbxYxtAyVJFsR+AUj8A3NjaKud4iMOP2LNtAcdEiC/s3nLziMk8N3fDWPl5eGbh38UfVUzV8+qOttK3VO9IZFaK1vo4Xp5kC81jlL3IIUNQHl+0UMqPLv/fyKywqZYuawkp3ask=

    then add the IP address like this:

    servername, ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEArJSaOcb6RCiDi57bzF8x9tAG1gFuhfAAtVFJYbxYxtAyVJFsR+AUj8A3NjaKud4iMOP2LNtAcdEiC/s3nLziMk8N3fDWPl5eGbh38UfVUzV8+qOttK3VO9IZFaK1vo4Xp5kC81jlL3IIUNQHl+0UMqPLv/fyKywqZYuawkp3ask=
  2. Optionally, create /opt/ltsp/i386/etc/lts.conf. If you don't create one, reasonable defaults and auto-detected values will be used.

  3. PXE boot the client and see what happens