Welcome to Linux Forums! With a comprehensive Linux Forum, information on various types of Linux software and many Linux Reviews articles, we have all the knowledge you need a click away, or accessible via our knowledgeable members.
Find the answer to your Linux question:
Site Navigation
Linux Forums
Linux Articles
Product Showcase
Linux Downloads
Linux Hosting
Free Magazines
Job Board
IRC Chat
RSS Feeds
Free Publications

LTSP is used to setup Linux Thin Clients aka Diskless Clients. It also can be used for Maintenance server or Installation Server in infrastructure. It is very cost effective

What is Thin Client? 

There are many definitions for Thin Client. However as per our
documents, Thin Clients are the machines without Hard-disk. So there
will not be any Operating System on the Client side. Client will boot up
using PXE boot over the network and will load the GUI of Server or
local machine.

What is LTSP?

LTSP is Linux Terminal Server Project. See ltsp.org for more information.
LTSP uses group of services to provide Operating System to Diskless Client a.k.a Thin Client.

Major Components of LTSP:

  1. DHCP
  2. TFTP
  3. Network Block Device (NBD) / Network File Sharing (NFS) Server
  4. X GUI

    - Display Manager (LDM, GDM, etc.)

    - Window Manager (icewm, Gnome, etc.)

Architecture and Process:

LTSP server will be setup on one Linux Server.
Client machine boots up with PXE and search for DHCP server over Network

DHCP server will provide IP address to Client and guide TFTP server
to transfer Linux Kernel (pxelinux.0) to client
   and Client initialize with
Linux kernel
Same time Client NBD server loads filesystem image on Client side
so Client gets all required libraries
   and binaries to load whole
Operating System.
Client sends LDM request over SSH and server loads Login Screen provided by LDM on Client.

Implementing Thin Client Solution with LTSP:

We have Ubuntu 10.04 Desktop edition installed on LTSP server.
We are going to implement LTSP 5.x on it.
Login with root or use sudo before every command mentioned below

    Install following components:





nfs-kernel-server & nfs-common


     apt-get install ltsp-server dhcp3-server tftpd-hpa dnsmasq nfs-kernel-server nfs-common portmap openssh-server

   Setup LTSP client environment

    ltsp-build client

It will create Client environment under /opt/ltsp/i386

It will also do the necessary changes.

Configure DHCP server

Include below line in /etc/dhcp3/dhcpd.conf
include "/etc/ltsp/dhcpd.conf";

Do changes in /etc/ltsp/dhcpd.conf as per your requirement.

Sample Configuration below:

subnet netmask {
   option domain-name "example.com";
   option domain-name-servers;
   option broadcast-address;
   option routers;
   allow booting;
   allow bootp;
   option subnet-mask;
   option root-path "/opt/ltsp/i386";
group {
   use-host-decl-names       on;
   option log-servers;

host ws001 {                                               <-- Hostname of Client
        hardware ethernet     00:21:85:6E:88:42;               Client Mac Address
        fixed-address;                    Client IP address
        filename              "/var/lib/tftpboot/ltsp/i386/pxelinux.0";  Kernel path for
TFTP Server

You can multiple host entries as per your Thinclients. Please copy from host ws001 { to } Which is colored RED.

And paste before Last Curly bracket at the end. And do the changes accordingly. Also change the IPs accordingly.

And restart dhcp3-server.

/etc/init.d/dhcp3-server restart

TFTP server Configuration:

Configuration file for TFTP server is /etc/default/tftpd-hpa.

Please comment TFTP_OPTIONS line. And append RUN_DAEMON=yes. So the file will look like:


Restart TFTP server

/etc/init.d/tftpd-hpa restart

NBD server Configuration

NBD stands for Network Block Device. It shares image of linux Filesystem hierarchy.

In older LTSP version it was done by NFS. However NBD is much faster and beneficial than NFS.

Linux Image resides under /opt/ltsp/images/ and named as i386.img.

Command linux-update-image creates or updates image from /opt/ltsp/i386 folder.

Append below two lines inside /etc/inetd.conf

9572   stream  tcp     nowait  nobody /usr/sbin/tcpd /usr/sbin/nbdswapd
2000   stream  tcp nowait  nobody /usr/sbin/tcpd /usr/sbin/nbdrootd /opt/ltsp/images/i386.img

Restart openbsd-inetd server using

/etc/init.d/openbsd-inetd restart

Now Start the Thin Client. Configure BIOS to boot first from Network/PXE. You will get Server Login Screen on Client !

Important Configuration files & tips for Customization:

-  LTS.conf:

This Configuration file is very important in case of customization.

If you are using NBD server then please save this file under /var/lib/tftpboot/ltsp/i386/

If you are using NFS server then please save this file under /opt/ltsp/i386

Sample customization with lts.conf:

If you do not want LDM to execute and if you just want a command
line Console on client and not on the server then Enter below settings
in lts.conf


It will start only Shell prompt and not LDM/GUI.


If you want any packages on client side to run or execute, you
need to add those packages or do those modifications under
/opt/ltsp/i386. For that follow below steps

mount t proc proc /opt/ltsp/i386/proc
chroot /opt/ltsp/i386

And now you can install packages using apt-get. Please note
that these packages will get installed inside /opt/ltsp/i386 folder.

Now you also can do any configuration changes such as network, Disk or anything.

After adding packages or doing modifications first come out of Chroot.

please run below commands:


 Now reboot Thin Client and observe the changes. :)

Rate This Article: poor excellent
Comments about this article

Comment title: * please do not put your response text here