How do LTSP Fat Clients work?
(Edit 2014-06-29: This entry is now nearly 4 years old, rather please use the LTSP documentation instead as it will be more up to date)
What are LTSP Fat Clients anyway‽
Thin clients are a great way to lower initial deployment as well as running costs in classrooms, libraries and similar organisations, but they have some limitations, especially when it comes to graphical and CPU intensive software. Even playing a video on one or more thin clients can often be enough to drag the network performance to crawling speeds. In recent LTSP versions, it became possible to run some applications locally, making it possible to use the local CPU/GPU/memory and drastically improve performance all-round. Since LTSP 5.2.1 (that ships with Ubuntu 10.04), it’s been possible to also run everything locally. This essentially makes a terminal a complete fat client that simply uses the network as a storage device. It combines many of the benefits of thin clients and fat clients, while also requiring a less powerful server since it basically becomes just a file server.
Installation is easy
Step 1: Install the ltsp-server-standalone package
Install it from the command line using apt-get install ltsp-server-standalone or by installing it from the Ubuntu Software Centre. If you’d like to configure a DHCP server seperately, then you should use the ltsp-server package instead.
Step 2: Configure your networking
LTSP will work out of the box if you have an interface configured on the 192.168.0.0/24 range. If you would like to use another IP range, you will have to edit /etc/ltsp/dhcpd.conf and adjust it to your needs. Usually LTSP is run from a separate network interface that connects to the rest of the network. If it’s not yet configured, you can add the configuration for a second interface to the /etc/network/interfaces file. Example:
auto eth1iface eth1 inet staticaddress 192.168.0.254netmask 255.255.255.0
Step 3: Build Fat Client Image
An LTSP fat client image can be used for both thin clients and fat clients alike. This is useful if you have a mixture of newer, more powerful machines as well as very old machines that can be used as thin clients only.
ltsp-build-client --fat-client --fat-client-desktop edubuntu-desktop --arch i386 --skipimage
Edubuntu-desktop can also be replaced with kubuntu-desktop, ubuntu-desktop or xubuntu-desktop. The Edubuntu one is probably most tested though. It’s recommended that you use the i386 architecture for the thin client environment (you can do this even if your server is amd64), the reason for this is that many machines (such as Intel Atom based thin clients) are not 64bit capable. The skipimage switch will prevent the image from being built now, since we want to install other software on it first. You can get all ltsp-build-client options by entering “ltsp-build-client –extra-help”.
chroot /opt/ltsp/i386 apt-get install htop openarena stellarium vlc
The example above will change-root to the ltsp environment and install htop, openarena, stellarium and vlc. These are just examples, you can choose any other software that you intend to run on your LTSP fat client. Next, sync the ssh keys (used for logins) and update the LTSP image:
Step 4: Restart Services
Restart the DHCP server:
That’s it, your LTSP Fat client server is now installed and ready for use. All you need to do now is connect one or more machines to the configured network and set them to boot from PXE or Etherboot.
Frequently Asked Questions
1. Does this take up a lot of RAM on the workstations? Does it take long for the initial image to download?
The diskless workstation will use the LTSP image in a similar way as a local hard disk and will only read the information over the network as required. It doesn’t download the whole image at boot time, so it doesn’t slow down the boot process by installing more software and it doesn’t use any additional RAM either.
2. How do I set a machine to be a thin client instead of a fat client?
Create a file called /var/lib/tftpboot/ltsp/i386/lts.conf if it doesn’t exist already. lts.conf is the configuration file for LTSP. The [default] section contains settings that apply to all machines on the network. You can specify exceptions to this by specifying the mac address between brackets:
[default] LDM_DIRECTX=true [00:A1:08:EB:43:27] LTSP_FATCLIENT=false
LDM_DIREXTX disables SSH encryption of thin client sessions. It is insecure, but boosts performance and might be required for very old machines or of you have limited CPU power on the server. The machine with the MAC address 00:A1:08:EB:43:27 will function as a thin client instead of a fat client. For more settings available in lts.conf, refer to the manual page.
3. Edubuntu integrates with LTSP, why not also DRBL?
DRBL is an alternative to LTSP that does diskless fat clients only. LTSP already matches all the functionality of DRBL, and on top of that supports multiple architectures, mixed thin/fat environments, individual client configuration as well as being properly packaged in Debian and Ubuntu already. Spending more valuable resources on supporting DRBL in Edubuntu wouldn’t bring any benefit to any of our users, although if someone wants it really badly, we’ll be happy to review any packages that they submit through the usual process.
4. Hardware is getting really cheap, is there still a future for LTSP?
The cool kids these days walk around with dual-core ARM based devices with 2GB of RAM in their pockets. With computing becoming so ubiquitous, does it make sense for schools and other organisations to still make use of LTSP? I’m quite sure that the way we use computers over the next few years is going to change drastically, but for now LTSP still offers a great way to cut down on administration and maintenance costs with very little compromise.
5. What effect will Wayland have on LTSP thin clients?
LTSP uses the X Window System to display applications that run on a remote application server. The X Window System is planned to be replaced by Wayland in the near future. Wayland offers better and simpler means to write new software on top of it, which will allow developers to write great software faster and with less trouble than before. In order to achieve this simplicity, Wayland had to drop the network transparency features that is present in the X Window System. This will certainly bring on some required changes on how LTSP is implemented, but at least there are already some options available that the LTSP team will investigate, and there’s no reason why Wayland should mean an end to LTSP.
Want to know more? Just ask!
- ltsp-discuss – General LTSP related help and support mailing list
- Edubuntu ships with an LTSP Live mode that you can try from the Live CD before installing if you’d like to try it out. The Edubuntu documentation page may also be useful.
- edubuntu-users – Edubuntu users mailing list, feel free to use it for LTSP related issues on Edubuntu