Jump to Navigation

Linux Terminal Server Project - Cost Effective Computing

Recently one of our client's old AIX boxes, which had been reduced to being a server for some old Sunix dumb terminals, after its heyday as the financial system server, died on them leaving their warehouse without computer access.

They wanted a cost effective solutions to the problem which, to them, included re-using the Sunix equipment where possible. Once we explained the cost of Linux Terminal Server solution to them versus the future costs of continuing to use outdated technology like Sunix terminals they were convinced to go with the newer technology. What was great was that they could still resuse old equipment, just not the Sunix terminals. An old retired machine with 500Mb ram was used for the server and old pentium computers were resurrected from the dead to be used as dumb terminals.

Brief How To For LTSP

The easiest way for ltsp to work is to have two network cards in the ltsp server. One card is the uplink to the main network with access to network resources and the second card is for the network for the dump clients. It should be possible to use one network card if you could edit the dhcpd.conf file on the existing network dhcp server to provide the address for the tftpd server to those clients that booted up with PXE, etherboot etc.

Server Software

We used Ubuntu Server Edition for the server.

  1. Install the server software as normal, when setting up your network cards give the card attached to the main network, eth0, it usually settings i.e either dhcp or static depending on your network configuration. The second card you can leave unitialised for now,
  2. Once installed you need to install the linux terminal server. This can be done via "apt-get install ltsp-server-standalone".
  3. You will find that after installing ltps the dhcpd start up script that is part of the package will fail. Don't worry we will fix this now.
  4. The second network card now needs to be configured. This is why the dhcpd server failed to start. Edit the file "/etc/networks/interface" and assign the card a static ip. What is important here is that the card has an IP in the same range as the dhcpd server that will be handing out IPs to the thin clients. You can find the default ip range by examining the file "/etc/ltsp/dhcpd.conf". We gave the card an address of 192.168.0.1. Please note if your main network uses the same range of IP addresses as the default for the dhcpd server you will need to change the DHCPD server to use a different IP range to avoid conflicts.
  5. Next you need to run "ltsp-build-client". This will create the/opt/ltsp/<arch> directory which will be used to build.
  6. To install a windows manager you need to chroot to /opt/tlsp/<arch> and then do a apt-get install <windows-manager> to provide this to your clients. Essentially this is the enivronment the thin client finally mounts as its root. If you want to provice telnet login do a "apt-get install telnet"
  7. You may need to update the boot image to get your changes to work on the client. So run ltsp-update-image.(E.G. to get telnet to work you need to do this. Gnome etc should be ok as they are run after the initramfs has mounted /opt/ltsp/<arch>. You may need to run ltsp-update-kernel as well if you made any kernel changes. (I kept getting the error "/usr/lib/ltsp/screen.d/telnet 59: telnet not found" even though it was in the chroot environment.)
  8. If you want to get your thin clients to have access to the internet or the main network you may need to enable ip forwarding and nating on the ltsp server. (I found it best to run this in rc.local.

    "echo 1 > /proc/sys/net/ipv4/ip_forward"
    "iptables --table nat --append POSTROUTING --jump MASQUERADE --source 192.168.0.0/24"

Thats it for the server setup and configuration. Now for the clients.

Thin Client Setup

If the clients have PXE enabled network cards there is not much more to do other than to enable network boot in the bios. If the network cards are not PXE enabled but the machines have a cdrom or floppy driver you can create a boot disk for them.

The best way to create this is to use the rom-o-matic web site to create custom boot images. It doesn't cover all network cards but it does cover the majority of them.

Open Source: 


by Dr. Radut.