[WWW] Linux Terminal Server Project, as described on the top of their website:
LTSP is an add-on package for Linux that allows you to connect lots of low-powered thin client terminals to a Linux server. Applications typically run on the server, and accept input and display their output on the thin client display.
I'm writing this by installing LTSP on a clean box, and attempting to document every thing I do. Hopefully, that will make this how-to as complete as possible.
The first step, of course, is to install Ubuntu! I'm using the 4.10 stable WartyWarthog release, and only the Main repository. A typical desktop install is used, instead of Custom/Minimal: even though this will be a server, you'll want the complete set of desktop applications and X itself.
See also ThinClientHowto for info on how to install LTSP on more recent versions of Ubuntu.
Highly recomended, install SSH: SSHHowto
Since this is a server, you'll want a static network address.
sudo gedit /etc/network/interfaces
For help editing /etc/network/interfaces, check out man 5 interfaces
# The primary network interface
#iface eth0 inet dhcp
iface eth0 inet static
Obviously the above is just an example. Adjust to fit your own network. Restart networking to adopt your new IP!
sudo /etc/init.d/networking restart
Installing dhcpd, tftpd, nfs
LTSP is a combination of existing protocols used together to boot diskless clients: dhcp, tftp, nfs, xdmcp. These do not all have to be run on the same server, it's quite possible to spead them out across many servers in a large deployment. I highly recomend reading the offical documentation to understand how the boot process works: [WWW] http://www.ltsp.org/documentation/ltsp- ... html#AEN53
To keep this simple, we'll install everything on one Ubuntu server:
sudo apt-get install dhcp3-server tftpd-hpa nfs-kernel-server
Opening up portmap
For desktop security, Ubuntu's portmapper is set to only listen to localhost by default. However, that would prevent LTSP clients from connecting to our nfs-server.
sudo gedit /etc/default/portmap
Comment out the second line:
# By default, listen only on the loopback interface
# ARGS="-i 127.0.0.1"
These instructions are based off of [WWW] http://www.ltsp.org/ltsp-4.1.html
First we download and install ltsp-utils. Head over here and grab the tarball: [WWW] http://www.ltsp.org/ltsp-utils-0.10.tgz
tar xzvf ltsp-utils-0.10.tgz
However, ltspadmin won't run yet, it complains about needing the LWP Perl module. Luckly, this is right in Main, although it will take a few dependencies along for the ride.
sudo apt-get install libwww-perl
Now ltspadmin will run. You may want to download the packages first though.
Optional: Download LTSP Package ISO
Note that there are currently no up to date (ltsp-4.1) packages for Debian that I can find. Debian packages of LTSP would be a huge asset, much simplifying installation, maintance, and upgrading. I believe that creating Debian packages would be a very valuable way that Ubuntu could contribute back; given sufficient free time, I'm interested in learning how to create .debs for LTSP. Help welcome. -JoeZicarelli
There are two ways you can download the LTSP packages: Download a 100M ISO image, or, let the ltspadmin utility download packages from online. I highly recomend the .iso, as recently the download servers have been very slow, having a local copy of the packages may save future pain. Grab it here from your favorite mirror: [WWW] http://prdownloads.sourceforge.net/ltsp/ltsp-4.1-0.iso
You can either burn the ISO and mount it, or simply mount it with the loopback device:
sudo modprobe loop
sudo mkdir /mnt/ltsp
sudo mount -o loop ltsp-4.1-0.iso /mnt/ltsp/
Now run ltspadmin:
If you downloaded the ISO of packages as described above: select Configure the installer options. At the prompt Where to retrieve packages from?, enter in the path to the mounted packages: [WWW] file:///mnt/ltsp
To install, select Install/Update LTSP Packages. This brings up a package-selection menu: you can hit A to select everything, and then Q to leave the menu. It'll ask you if your sure; y to actually install.
Now run through Configure LTSP and configure everything!
Moving LTSP's tftpboot
Ubuntu expects files benig served by tftp to be in /var/lib/tftpboot/, while LTSP put them in /tftpboot/, so we'll just move them and delete the empty /tftboot/:
sudo mv /tftpboot/lts /var/lib/tftpboot/
sudo rmdir /tftpboot
The individual clients need to be configured, this is done in the following files:
Refer to the offical docs for help: [WWW] http://www.ltsp.org/documentation/ltsp- ... tml#AEN524
LTSP 4.1 runs xorg, while Ubuntu 4.10 WartyWarthog runs xfree. This generates an XKB Error when logging remotly with XDMCP. Something like:
Error activating XKB configuration.
Probably internal X server proublem.
X server version data:
The X.Org Foundation
If you report this situation as a bug, please include:
- The result of xprop -root | grep XKB
- The result of gconftool-2 -R /desktop/gnome/peripherals/keyboard/xkb
This can be fixed with two symbolic links:
sudo ln -s /etc/X11/xkb/rules/xfree86 /etc/X11/xkb/rules/xorg
sudo ln -s /etc/X11/xkb/rules/xfree86.lst /etc/X11/xkb/rules/xorg.lst
I don't believe this will be an issue for Ubuntu HoaryHedgehog, as xfree is no longer used.
Test a Workstation!
Hopefuly it'll work!
To get a working 2.6.x Kernel working with LTSP or get HAL and D-Bus to work in 2.4.x