How do LTSP Fat Clients work?

// November 24th, 2010 // Education, Free Software

(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 eth1
iface eth1 inet static
address 192.168.0.254
netmask 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:

ltsp-update-sshkeys
ltsp-update-image

Step 4: Restart Services

Restart networking:

/etc/init.d/networking restart

Restart the DHCP server:

/etc/init.d/dhcp3-server restart

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
SociBook del.icio.us Digg Facebook Google Yahoo Buzz StumbleUpon

32 Responses to “How do LTSP Fat Clients work?”

  1. sta says:

    nice post, thank you very much

  2. sm8ps says:

    This is the single most useful post on the subject of LTSP fat clients I have come across so far. Thanks a lot! The Ubuntu community documentation gets you going but this post really does explain much more detail.

    Cheers!
    St. Mueller, Switzerland (under heaps of snow)

  3. openstep says:

    Hi,
    I am using an older version of ltsp (ubuntu 8.04). I have a few older machines that can not pxe boot. I use etherboot (eb-net.com) to boot them.

    Now, when I tried the new ltsp (ubuntu 10.04) I could not boot the machine via etherboot (eb-net.com), and another problem was there were no internet access on the client.

    Any ideas?

  4. openstep says:

    Any idea why it is not booting on ubuntu 10.04 via etherboot?
    Nor thin nor fat cleints boot.

  5. jonathan says:

    @openstep If you use etherboot, you have to install the mknbi package and run ltsp-update-kernels

  6. openstep says:

    Seems like this did not help.
    Then I downloadad loadlin (client have an old dos program as a second option) to load (gpxe.lkrn).
    Loadlin loads gpxe just fine, then gpxe starts loading ltsp but hangs at a line that starts like this IP=192.168.0.23 …….
    And will not move on loading ltps. But that is what i need to do since many clients do not have a pxe boot built in and because I still need to have that old dos program as a second option.
    Any ideas?

  7. jonathan says:

    Hey openstep, I haven’t used Etherboot in a while, so what I can help you with there is a bit limited. Why not ask on the Edubuntu mailinst lists[1] or the LTSP [2]? There is sure to be many people who use Etherboot who have probably found a workaround or solution to the same problem that you have.

    [1] http://edubuntu.org/community
    [2] http://sourceforge.net/apps/mediawiki/ltsp/index.php?title=Ltsp_Support

  8. Is this “–fat-client” option only available in Ubuntu packages? I ask because I’m using Debian’s ltsp-server 5.2.4 package, and there’s no option like this for ltsp-build-client.

    Thanks.

  9. jonathan says:

    @Vinicius Unfortunately that’s not available in Debian, but you can install your desktop session of choice in the chroot manually. Since the support for it is in LTSP upstream as well, it should work just fine in Debian otherwise.

  10. Frugal Dad says:

    The LTSP fat client is perfect for many uses. We use it for our in home school. 4 computers without hard drives and 1 server. It works excellent for our purposes. Without those 4 hard drives running, our classroom is a lot more peaceful and way less hot!

  11. Barco says:

    Finding current online information on Lstp is verry hard indeed. Tried the mailing lists but they keep talking to themselves and don’t offer much help. Is there a man page for Ltsp somewhere?

  12. Nicolas Roussi says:

    I followed your instructions and everything went fine. But when I boot to the fat client image the background loads on the desktop only. When I boot to a thin client image everything works fine (mac address of client in lts.conf and LTSP_FATCLIENT=false). Any suggestions?

  13. jonathan says:

    @Nicolas I suggest you drop by on the #ltsp IRC channel on freenode. I’m usually there and it’s easier to provide assistance there than over blog comments :)

  14. Jim says:

    Hello Jonathan. Thanks for this write-up. I had a couple of students follow it last spring to do a fat client install and I’m now using the server in my classroom. Would you know how I could run a published bottle with Crossover inside a fat-client image?? I need to get my drafting program that we ran well from thin-clients working with fat-clients. Thanks, Jim

  15. openstep says:

    Hi again,
    this time I am using the new 10.04 lts version to to install ltsp from the alternate cd (F4 mode).
    All is fine, except found out that it is not using NTFS (right?) but sshfs and thus I can not get the quota information on the fat clients.

    My question is :
    – how can I have quota working in fat client?
    – is the alternate cd installs ltsp differently then what I would do with the commands? Such like these here: http://www.nubae.com/ltsp-linux-terminal-server-project-netbooted-fat-client-for-ubuntu-hardy-and-intrepid
    – can I turn such istallation into ntfs way so that quota would be working?

    hope you understand …

    Thx,

  16. So it’s possible to use another version of a distro for the Clients, but is it possible to use totally another distro as Server and as a Client, like Debian for Server and Ubuntu for Client ?

  17. ayo says:

    hi jonathan i have the fat clients install and working alright..only problem is when i restart or shutdown i lose all the documents stored in that session, please how do i make sure that documents get saved ?

  18. sugonjakas says:

    Hello! I am writing from Russia. I want to express my deep gratitude to you for your article! Although not the national language is written to me, but in contrast to all manuals are available – which is very handy to use at school in computer class! Thank you!

  19. Konrad says:

    Hi,
    I wonder if there is the possibility of limiting CPU, RAM usage for each session/client?

  20. melvin says:

    i have in troubled for configured and install the ltsp fat client, can anyone help me and guide me for the clear step by step please. This is my task in schools.please help me. thanks in advance

  21. melvin says:

    john, hmmm i used virtual box to install the ltsp fat server and then connect to thin client, i create to vm machine one for the ltsp fat server and one for the thin client, it is posible to do that? can you supervised me for the step? on that pages i follow that step and do the step in fat server? i’m right?how about the thin client?there’s need a configuration for that one?

  22. john_s says:

    Hi Melvin,

    I’ve never done this with virtual servers and virtual clients before so I can’t help you there. If I was doing it, I’d use a physical server and a physical client before I tried to virtualize.

    Step 5. in the link about says “Internet connectivity needs to be provided directly to the client, the client needs to be directed to an Internet gateway via DHCP. ” Your client needs to boot via PXE, and PXE needs DHCP to be running to get the values it needs to find the image on the TFTP server.

    It may be helpful for you to read https://help.ubuntu.com/community/UbuntuLTSP/LTSPQuickInstall

    and
    http://wiki.ltsp.org/wiki/LTSPedia
    and
    https://help.ubuntu.com/community/UbuntuLTSP

  23. melvin says:

    Jonathan thanks for your information above. I’m, so confused about the similarity of installation it is the same with my instalation looks like this “start of intallation” file below? and when im looking for the ltsp server software to install, i cann’t find the ltsp server, you can see the “choosing software installation” file below. which software i need to install? thanks for guiding me for this jonathan, so much appreciate.

  24. melvin says:

    Jonathan, i sent the files to your email.

  25. melvin says:

    Jonathan when i try to follow this turorial https://help.ubuntu.com/community/UbuntuLTSP/FatClients then i’m on the part of runing this code “sudo ltsp-build-client” i encouner this error NOTE: Root directory /opt/ltsp/i386 already exist, this will lead to problem please remove it before trying again. Exiting.
    error: LTSP client installation ended abnormally.

    what should i do to fixed this error?

  26. Alan Harper says:

    Those interested in LTSP may find the ltsp-pnp method devised by Alkis Georgopoulos useful.

    ltsp-pnp:

    https://help.ubuntu.com/community/UbuntuLTSP/ltsp-pnp

    Simpler method for fat/thin clients using ltsp-pnp:

    http://ubuntu.5.n6.nabble.com/Simpler-method-for-fat-thin-client-setups-td4677965.html

  27. Dave Wilson says:

    Hi Jonathan,

    Having tried to use KTurtle with 30 LTSP clients today on a 12.04 system will have to change to Fat clients.

    Can I simply follow the information above with an existing Thin Client system in order to swap?

    Regards

    Dave

Leave a Reply