Syed Jahanzaib Personal Blog to Share Knowledge !

October 12, 2011

LTSP : Thin Client Server on Ubuntu , One of my Favourite Project :)


Why I needed LTSP ?

Few months back, at my company, we were very low in hardware resources, my office pc harddisk turned out in to a grabage piece, and I was no other backup disk to install windows or linux.  Several outdated pcs in my office was having hardware software trouble too, so I was quite annoyed and fedup by the hardware / software / viruses  problems, Then I decided to give a try to Ubuntu LTSP, which I used 2 years back in a lab environment successfully. So I created LTSP Server in Ubuntu and connect all low hardware base pcs to boot via LTSP, this way I got rid of softwares / hardware / storage / management problems in very cheap way 😀 , this article explains how I achieved this at my office.


Linux Terminal Server Project (LTSP) provides a way for you to build a server and then add Old diskless computers to the server thus creating a huge savings for an organization. To the user, they will not recognize that the computer they are at is without a hard drive. They typically notice the fast speed at which the workstation runs and the features that are available. LTSP helps in improving Total Cost of Ownership (TCO) and also offers increased value over traditional computing solutions. The Linux thin clients are very reliable as viruses and tampering is non-existent. It is distributed under the GNU General Public License, which is free.


1. Cost – Diskless computers like old Pentium 2/3 base computers with 64 mb ram can be purchased new for about 1500-2000 Rs (or 15-20$) from Regal / Saddar Market and can be built from outdated computers for $0. This is a very interesting way to build a network from computers that others want to discard.

2. Central Management – Central Management alone will save an organization dramatically. You can expect virtually NO WORKSTATION maintenance with LTSP. Without a hard drive there is nothing to maintain except connections for monitor, network, keyboard and mouse. All management is done from the server.System maintenance is also easier when everything is on one computer, and upgrades are simpler, as is backing up. In fact, the only major disadvantage of such a system is that the server provides a single point of failure. If this breaks, the whole system goes down, so some sort of redundancy is needed here if downtime isn’t acceptable.

3. Heat Reduction – Computers create heat which leads to more power usage to reduce the heat. Many diskless systems are only using 15 watts of power and producing virtually not heat.

4. Power Reduction – Diskless computers may use as little as 15 watts of power compared to the 450 watts of a typical workstation. When you are looking at 200 computers in a school system is a significant savings.

5. Flexibility – You are not limited to just running diskless computers. You can set up a network that will allow diskless computers, computers with disks and Windows computers connecting via Samba. One server can do it all for you.


1. Single Location of Failure – Since the whole network depends on the server up 24/7 that server must be robust and dependable. If the server is down everyone on the LTSP server is off line. You can create redundancy. I tried creating a LTSP Cluster which is very easy to setup and it is simple enough to rsync two servers so that you have a clone ready to go if you experience failure. I did run this LTSP server for about 3 monhts without having any downtime.

2. Server Cost – You must invest in a server that is robust, something in the line of dual Xeons with 4-8 GB of RAM if you have more then 50 diskless computers connected.

To install LTSP on Ubuntu

Login to terminal via root and issue the following command to install LTSP and SSH server.

sudo apt-get install ltsp-server-standalone openssh-server

Now Update DHCP file with your network configuration

nano /etc/dhcp3/dhcpd.conf

ddns-update-style none;
log-facility local7;
subnet netmask {
option routers;
option domain-name-servers;
filename "/ltsp/i386/pxelinux.0";
default-lease-time 600;
max-lease-time 7200;

Now start DHCP server by

service dhcp3-server start]

You must see OK status for it, If you get Following error while starting <strong>DHCP</strong> server
<strong><span style="color: #ff0000;">Can't create PID file /var/run/ Permission denied.</span></strong>

Then issue the following command,

ln -s /var/run/dhcp3-server/ /var/run/

Now create your Thin Client environment on the server with.
(This will take some time, so sit back, relax and have a cup of tea with EVERYDAY milk :p )

sudo ltsp-build-client

At the end, If you receive following error:
error: LTSP client installation ended abnormally”
then issue the following commands

sudo -s
su -

Now update the sshkeys and lts image

sudo ltsp-update-sshkeys
sudo ltsp-update-image

Your LTSP server is ready. Now goto client side, and boot it from PXE enabled network card, usually f12 works , or use the bios option to boot from network card, Now when the client tries to PXE boot, it will get ip from dhcp server, and will get the tftp info and will then take you to the login screen, here you must provide valid user id password in order to login to the server.

In the following example, I created test machine in VM with very minimum hardware specs, for example 64Mb ram, No harddisk, as client boots via ltsp server.

Below are some screenshot of client booting via ltsp server.

Tips N Tricks for LTSP

HOWTO ASSIGN STATIC IPs with dhcpd.conf

The recommented way to assign static IPs is by appending host declarations to /etc/ltsp/dhcpd.conf:

host zaib-pc1 {
hardware ethernet 00:0c:29:f1:6d:3f;

apt-get error <Meta-index file (malformed Release file?) >

If you receive error while updating apt-get <Meta-index file (malformed Release file?) > type error, Then edit /etc/apt/sources.list and remove ‘non-free‘ and ‘contrib‘ words in whole file by searching.

The valid components for Ubuntu are ‘main‘, ‘restricted‘, ‘universe‘ and ‘multiverse’. There is no ‘non-free‘ nor ‘contrib‘ that’s for debian. Update you sources.list accordingly and try performing the upgrade again.


Goto Folder /opt/ltsp/i386/usr/share/ldm/themes/ and edit bg.png to add your logo and info.

After you done editing your file, Dont forget to update ltsp image by issuing this command.

sudo ltsp-update-image

Some useful links for ltsp management:

%d bloggers like this: