Edubuntu, Linux Terminal Server and thin clients

Magic on your LAN

Hacker's code | Intermediate

By Robert Pogson

Online on: 2006-08-30

You walk into the room. It’s cool and quiet. You see thirty new workstations giving great service. Your cost of hardware was CAD$350 for each workstation, CAD$10 to connect it to an existing 100Mbps LAN, and about CAD$60 for a share of a server in another room (CAD$1 = US$0.87). Your software costs were only some download and CD burn time and forty minutes for installation. Your operating costs are virtually nil. The server runs for months without a reboot. The workstations have nothing but network boot loaders. You back up only one machine, the server. The workstations use twenty watts each and have no fans. Magical? Yes. Magic? No. Arthur C. Clarke once made the comment that “technology sufficiently advanced is indistinguishable from magic”. A stock server or a custom-built server made from off-the-shelf parts has taken the place of the mainframe in a client/server arrangement. Moore's Law makes the hardware cheap. GNU/Linux makes it free to use to its potential. This is old but capable technology made easy to install thanks to the GNU/Linux revolution.

This is old but capable technology made easy to install thanks to the GNU/Linux revolution

Cost per client
Cost per client

What you have are workstations of fanless, diskless clients connected to LCD monitors, mice and keyboards. The low-powered clients do little except relay inputs and graphics between the user and the server via the X Window System. The server is a reasonably powerful PC with extra memory and storage. You get away with having thirty users at once running on the server because recent CPUs have the power and the typical user typing and clicking uses up only a small percentage of such a CPU and uses the power in short bursts. By investing a little more on the server, everyone gets to share in the benefit and it is never wasted. The first time a user loads a program the server caches it in memory for any subsequent users. This is a much better system than paying per-user licence fees, installing and maintaining software on hard drives on each client and keeping all the disks and fans turning. You do not need to chase dust bunnies on these fanless units. You save hundreds of dollars in electrical energy over the lengthy lifetime of this equipment and you do not need to listen to all those pointless whirring sounds.

CPU utilization versus time with nine users
CPU utilization versus time with nine users

How can you get this all to work without resorting to magic or hiring a magician? LTSP, the Linux Terminal Server Project is a free software project intended to make the setup easy. The clients configure via DHCP (Dynamic Host Configuration Protocol) and download a minimal GNU/Linux operating system from the server using TFTP (Tiny File Transfer Protocol). The GNU/Linux operating system for the client boots and uses a file system on the server and the memory of the client to do everything. The initial network boot can be done by a ROM (Read Only Memory) resident program on the client. Most PCs since 1998 have this capability built into the BIOS if there is a Network Interface Controller (NIC) built into the motherboard. The BIOS setup may mention PXE, Pre-Execution Environment or network in the booting section. Others can incorporate a boot loader in a socket on the NIC into the BIOS of the PC, or boot from a floppy, USB device, hard drive or CD.

The folks who made Edubuntu put in automatic installation of the simplest, and most common setup

The only software installation required is on the server. You can use a GNU/Linux distribution designed for use in schools and by teachers with modest expertise. Because the LTSP scripts can be a hassle for a novice, the folks who made Edubuntu (Ubuntu plus a few packages and configurations for schools) put in automatic installation of the simplest, and most common setup, the server running a private LAN with your clients. This works well for a classroom, a computer lab, an office or a small school. Except for multimedia intensive stations the LTSP concept works for about thirty clients from a single 32 bit CPU with 2GB RAM. Using a dual-core 64 bit CPU and 4GB RAM, one server can handle sixty clients. With multiple servers or multiple socket motherboards the system will scale to well over one hundred clients. You only have to eliminate bottlenecks on the LAN by using a gigabit per second connection between server and switch. 100Mbps works well from switch to client. 10Mbps works, too, but there are noticeable delays.

What an LTSP Server wants

The specs for an LTSP server are pretty simple:

  • 512MB RAM for the idling system with all of its services
  • 50MB per client to hold user data and the first copy of common applications
  • 100MHz of 32 bit processing power or about 75MHz of 64 bit power per client. AMD or Intel work, but AMD gives more computing power per watt and has an on-chip memory controller in 64 bit. The competition between these two makes price/performance good for our use. It is important to select components that match motherboard/CPU/memory/NICs if you build from parts.
  • A gigabit NIC for the private LAN (100 megabit is OK for small LANs with patient users, random boots or client always on)
  • 10/100 baseT NIC for the ISP

The gigabit NIC is optional unless you want to save seconds on the boot over the network when everyone shows up to work in the same minute and transfers 4 MB of kernel. Many motherboards come with a gigabit NIC and they are cheap. The following examples don’t include a monitor, keyboard, mouse, CDROM drive or video card which are only needed for installation. The BIOS can be set up to boot on restoration of power and to ignore lack of a keyboard. The X configuration can be set to use a dummy driver when the video card is absent. The server can be maintained remotely by SSH (Secure SHell) or LTSP. A backup hard drive with USB connection is also recommended.

An example of a server good for up to sixty clients:

  • AMD Opteron 170 dual core 2 MB cache CAD$519
  • 4GB ECC DDR333 RAM CAD$500
  • ASUS A8N-E motherboard CAD$125
  • ATX case and power supply w/400-500W capacity CAD$200+
  • 10/100 baseT NIC CAD$15
  • dual 200GB hard drives SATA CAD$210
  • Total CAD$1570

A good server for up to thirty clients could use the same setup but with an AMD64 3200 processor and 2GB non-ECC RAM, costing about CAD$1000.

For up to 10 clients, and modest services, use a recent desktop PC with 1GB of RAM and an extra NIC.

For 120 clients, use a dual socket Opteron motherboard with suitable processors and 6GB ECC registered RAM costing about CAD$4300 or more:

  • AMD Opteron 275 dual core 2MB cache 2 X CAD$1353 = CAD$2706
  • ASUS K8N-DL motherboard CAD$287
  • ATX case and 500W power supply CAD$250
  • 10/100 baseT NIC CAD$15
  • dual 200GB hard drives SATA CAD$210
  • 6GB DDR400 ECC registered RAM 6 X CAD$150 = CAD$900
  • Total CAD$4368


License

(C) Robert Pogson 2007

Verbatim copying and distribution of this entire article is permitted in any medium without royalty provided this notice is preserved.

Biography

Robert Pogson: Robert Pogson has worked with computers since 1968 as a student, accelerator technician, inventor, and teacher. The revelation in 1999 that PCs rarely crashed without some help from software lead to his adoption of free software on GNU/Linux. Since 2003 he has been using a Linux Terminal Server in remote northern Canadian schools using available PCs in labs and classrooms.

Anonymous visitor's picture

Edubuntu, Linux Terminal Server and thin Clients

Robert:

We are getting close to coming few circle. When the 386 came out we could run 512, yes five hundred and twelve, users on a single server.

BTW, it would be nice to have a one-shot printable version of the whole article.

Henry Keultjes
Database Scientifics Project http://www.ncolug.org/ppc.htm
Mansfield Ohio USA

Anonymous visitor's picture

great article

I was wondering how this would handle applications that were very graphics intensive? Applications that relied heavily on the performance of a graphics card.
Domenic

Anonymous visitor's picture

You can run the graphics

You can run the graphics application on the terminal, but it takes some setup. Google for local applications or local apps on ltsp.org or ubuntu's site.

Anonymous visitor's picture

missing

What is missing between steps 24 and 25? Where is the LTSP configuration stuff?

Anonymous visitor's picture

Ditto the missing

Those missing steps are keeping me from using this.

Anonymous visitor's picture

It is automatically done if

It is automatically done if you have two ethernet connections live, one to the internet and one to a switch to your thin clients. You need the internet side not to be 192.168.0.x as that is what is assumed for the LAN on which your thin clients reside. If you cannot have this arrangement, you need to see the LTSP documentation.

Anonymous visitor's picture

Mobility

Great, except for when you want your employees/students/etc to be able to take their work away from the room. In this case you want a "thick client" via laptop, etc. Thin clients would be the answer to almost everything if it weren't for the mobility issue.

Anonymous visitor's picture

Mobility

Actually, that's about to improve radically. Obviously if you have a central file server the student can go across the school, login and see their files.

However, more to the point, Edubuntu/LTSP are introducing support for using USB keys on thin clients in the upcoming October release. Details here.

Anonymous visitor's picture

Mobility

In that case, you authenticate yourself to a file server via LDAP, the files are sent to you, and the files go back into the central server once the work is finished.

Anonymous visitor's picture

"Citrix". citrix allows

"Citrix". citrix allows users to connect to a location outside of the network using upto 128 bit encryption for the connection. citrix homepage: http://www.citrix.com/lang/English/home.asp

the article was overall pretty descent, and is a major advancement for the linux and business world. I like the overall low cost of ownership, and i would love to show my boss, and work on this sort of project in our company.

Anonymous visitor's picture

TFTP.

TFTP is Trivial, not Tiny.

Anonymous visitor's picture

tftp

like this comment ;)

Anonymous visitor's picture

Not really, any

Not really, any disinformation is bad information.

Anonymous visitor's picture

Other LTSP products

Great article about LTSP and thin clients!

I know Symbio Technologies (www.symbio-technologies.com) has sold lots of LTSP-based products into Canada, along with thin clients for much less than CA $350. Removable media, 16-bit stereo sound, and video all work quite nicely (due in no small part to the wonders of X.org). LTSP is great, and if you want something supported and canned, Symbio's a good place to look.

Terry Hancock's picture

Fanless clients / limited by the monitor cost

These are getting really nice.

I saw a manufacturer site recently selling a unit that's about the size of a conventional half-height disk drive (who remember full-height anymore).

For something like US$120 each (they're cheaper in quantity), you get a tiny box with a 166MHz+ CPU, 128 MB RAM, a Compact Flash slot (to replace a hard drive), USB, keyboard, serial I/O slots, 2D/Multimedia accelerated graphics, and audio (I don't think it has 3D acceleration). Since they run Puppy Linux on it, it must have Linux drivers for the hardware. Also, it's supposed to run from about 0 to 60 C (32 to 140 F) with no fan and will bolt onto the back of a standard VESA LCD monitor.

(Note this partially answers the 'graphics intensive' question above -- multimedia applications are supported, but not really 3D).

In my experience, you can usually find used CRT monitors for US$40 to US$60, but they're a false economy, because they lose definition over time ("fuzz out", I call it) and become unusable in much less than the lifetime of an LCD monitor (provided you don't poke the LCD panel with something -- they really need lexan or glass covers for these things!). I just found a used 17" LCD for US$130 from an online shop, which is probably a better deal. $200 is not an uncommon new price if you go to the right suppliers.

So, yeah, the client is going to cost US$300—but US$200 of that is probably the LCD monitor! Monitors aren't very price-flexible, but fortunately, they last longer and obsolesce slower than most other computer equipment, so they tend to be good investments. I probably upgrade CPUs every 2-3 years, but I hardly ever get rid of monitors. Keyboards and mice may eventually be a problem, but they're in the US$10 range, so it'll be awhile before they start to impact the flexibility of client prices.

So the next step, if any, is to bring down the cost and increase the durability of LCD monitors. Of course, the One Laptop Per Child project (and therefore Quanta) is doing that. I wonder if we'll see spin-off LCD monitors based on the same LCD panel (or same technology).

The Open Graphics Project is also really close to manufacturing their first open hardware FPGA prototyping cards. In a year or so, they may be talking about doing the ASIC (consumer-targeted) cards, and selling the chipset to embedded developers, which might well mean inexpensive clients like this with basic 3D acceleration, so you could actually run CAD software (or Blender) over these kind of clients.

Anonymous visitor's picture

PDF

is there anyway I can get this tutorial as a .PDF? Thanks..

admin's picture

Yes there is...

This article comes from issue 13. If you become a subscriber (which is free) then you can download the issue in PDF format here by clicking on the download link.

Anonymous visitor's picture

Dual-Head thin client

The only "stressful" thing my workstations currently do is provide dual-head video - the main reason why the $250 thin-client has not been an option for me.
Now I see SUN has dual-head thin clients - http://www.sun.com/sunray/sunray2fs/ - about $500, I think, plus 2 17'' LCDs.
Does anybody have experiences with such a setup?
- bunk

Anonymous visitor's picture

Sun Ray on Linux

Hi,

Yes, Sun Ray clients are a great way to go, and you can get them working off a linux server.

Go to http://www.sun.com/software/sunray to download the server software.

It is trivially easy to install on Solaris 10, RHEL, or CentOS 3.3. If you want to install on something other than that then there is a little bit of work involved.

Anonymous visitor's picture

The other one is K12LTSP; it inspired Edubuntu

Hello folks,

There is another turnkey LTSP distribution called K12LTSP, maintained by Eric Harrison (he also contributes to Edubuntu). K12LTSP came out in, I believe, 2001 and currently has two versions:

1.) Fedora Core-based
2.) CentOS-based

I happen to use the CentOS-based one at home, and I have a couple of schools using the Fedora-based ones. Here are some reasons why you might want to consider trying K12LTSP:

A.) It supports both EtherBoot *and* PXE-boot simultaneously. That means all those old Pentium-133's, too, can be used as thin clients, totally seamlessly, right alongside the new PXE-booting thin clients.

B.) It also supports not just x86 thin clients, but also Power Mac thin clients, *simultaneously*, on the same network segment (I and several others have verified this!).

C.) It's even easier to install a K12LTSP server than it is to install Windows XP, let alone something like Windows Server 2003. It's all integrated seamlessly into the Red Hat installation process. Good default settings were chosen, so yes, you can click through all the defaults, and boom, you're done.

Now, I'm not knocking Edubuntu; I use and demo it myself, and I'm sure glad it's here. However, K12LTSP has simply been around a few more years and therefore is more mature at this point (e. g. simultaneous EtherBoot and PXE and x86/PMac client support). Now, Edubuntu can easily be made to do these things, too; it's basically just a tweak to /etc/dhcpd.conf and copying over /opt/ltsp/ppc. I have tried this, and it does work.

With either distro (Edubuntu or K12LTSP), the cost savings are the same, and the benefits are the same. You'll do well with either, and above all, YOU WILL BE FREE OF THE BSA, MICROSOFT, AND APPLE. I know; we got hit with an audit, and it wasn't fun.

Anonymous visitor's picture

Graphics-intensive may not be an issue anymore, soon

Remember that Intel recently open-sourced their integraded 3-D graphics drivers for use in X.org. That means that your graphics-intensive applications should now work just fine if you have an integrated Intel chipset. Finally, Intel's learning to play nice!

I recommend that everyone who's looking at buying new thin clients ask the manufacturer if they use an integrated Intel chipset. Another good option, for those who are using older PC's as thin clients, is the ATI Radeon 7500/8500 (yes, they're still very much around), and the Matrox Millennium G400/G450 (yes, they're around, too). Both video cards provide quite fast 2-D and 3-D video support.

STAY AWAY FROM NVIDIA *ANYTHING*, AS WELL AS ANY RECENT ATI CHIPSET (9200 and greater). You are limited to the S-L-O-W VESA driver with these chipsets. The reason is that both ATI and nVidious decided to no longer play nice with the Free/Open Source community and refuse to allow us to write drivers for their chips. We'll see how long that lasts now that Intel has seen the light; Intel's too big for them to ignore.

Anonymous visitor's picture

tweaks for ppc on ltsp

could you tell me where to find the info to do the tweak to add ppc on ltsp?

Anonymous visitor's picture

PPC on LTSP

Mandrake (now Mandriva) had this a long time ago. I have not used their system lately.

Debian has a neat setup. Their distro covers ppc, i386 and AMD64 as well as others and they have provided packages to setup up thin client environments for any architecture running on a server of any architecture (boggling...). Search for LTSP in descriptions of packages for testing at packages.debian.org . ltsp-client-builder is the key. You run it and it creates the LTSP environment on the server for whatever client you want. You have to set up your DHCP server to point the ppc client at the right environment and kernel, I suppose. I have not tried it.

So, you can run your LTSP server on AMD64 and serve clients of Pentium I's, ppc, i386, whatever. This is sweet for schools that have working inventory, but the new fanless thin clients and LCD monitors are the way to go sooner or later.

Anonymous visitor's picture

Nvidia

What? I thought Nvidia played best with Linux. Mine sure does. I CAN NOT go along with your Nvidia "ANYTHING" statement. I've had more trouble with ATI.

Kletskous's picture

html?

Very nice article! I would like to make it available as a tutorial on our website. The easiest way for that is to have it available in html format. Woud that be possible?

Catharina

http://www.open-of-course.org

Anonymous visitor's picture

Should be a little more detailed!

Namaste,

Nice article, and i can see that it has been intentionally explained in such a way that newbies can follow it.
So my question is, if you went so far as to use ultra-simple language to explain to newbies, why don't you explain:
1)What is a NIC? and how to configure/use one?
2)What is the procedure on any one thin-client (entire setup process with screenshots would be ultra helpful).
3)And finally any problems/ special-case scenarios (most common ones), that would occur in a thin-client setup and how to deal with it.
I am having a Computer institute, and am planning to shift atleast one of my labs (30-PCs) to a thin-client based environment, using Edubuntu.
If you can help, with my above questions, please email me at kenthomson799(at)yahoo(dot)com. I would be highly obliged if i can setup a lab of 30PCs, running on a central server with the process you described.

The point is setting up stand-alone PCs, with Windows XP has been so familiar to me, that i cannot think of any other options, and your article certainly has helped me. If you can spare some time, please answer my above questions in detail.

Thank you,
and yeah, Nice Article!

Anonymous visitor's picture

Details

"1)What is a NIC? and how to configure/use one?
2)What is the procedure on any one thin-client (entire setup process with screenshots would be ultra helpful).
3)And finally any problems/ special-case scenarios (most common ones), that would occur in a thin-client setup and how to deal with it."

NIC is Network Interface Controller. It is best to have two or more for the LTSP setup. If you have two, one will be the "primary" connecting to the ISP, and one will be for the LAN. The EdUbuntu setup should do this automatically after you declare one to be the primary.

On the thin client you can
1)Set the BIOS to boot PXE
2)Set the BIOS to display a menu in which PXE is one choice
3)Set up a floppy/CD/hard drive/flash boot loader from http://rom-o-matic.net

It can happen that the driver for the video/NIC on the thin client is not working. In /opt/ltsp/.../etc/lts.conf on the server you can edit in a choice for driver. vesa usually works but may not have the best resolution. Most thin clients have fairly common NICs so I have not seen a problem, but you can often install a driver in the chroot of the client or compile a kernel with a driver if it is open source. That is a lot of work unless you have a ton of clients with this problem.

Anonymous visitor's picture

THIN CLIENTS terminals where to get those machines?

Hi.
Somebody knows where to buy those thin clients, which I put on the back of LCD??
I found http://www.bosanova.net/thinclient/rbt366-iseries.html but it costs 395 USD!
It's really a lot!

Anybody knows alternatives?

Anonymous visitor's picture

Think Clients - where?

Try http://www.norhtec.com/products/index.html - I have not got one but they seem to be good.

technosaurus's picture

low cost client

try http://www.ewayco.com
they have every kind of thin client you could want including a $150 tablet version as well as the $120 norhtec client for $99 (as low as $75 in bulk orders) 200 Mhz @128Mb RAM, plus fanless via systems and p4 ... awesome prices but shipping is from overseas, so bulk orders are a better deal.

Anonymous visitor's picture

please send me how to config the client server in lab

hi friend please send me please send me how to config the client server in lab.
i am 6 th ec student,and u give me your ideas on ptl_pratik@yahoo.co.in.
please reply fastly,because i must need.ok
thanxs in advance.

Anonymous visitor's picture

Dead link

Can't get to the http://www.norhtec.com/products/index.html.
Anyone knows other places to buy?

serlis
http://blog.lsmnetworks.com/

Anonymous visitor's picture

Try

Try http://www.wdlsystems.com

Garry's picture

Thanks.

Thanks.

PK's picture

article

Thanks for great article. Greetings

Luka Manser's picture

Managing users in Kubuntu

Hello,
is this possible in Kubuntu also? My friend installed it on his laptop. Any kind of help is great. If anyone has nay kind of pdf or manual I wolud appreciate if you post a link. I googled but found nothing.
Thanks,
Luka Manser

Pozycjonowanie's picture

re

Brilliant idea Robert. btw. I really enjoyed reading all of your posts. It’s interesting to read ideas, and observations from someone else’s point of view… makes you think more. Keep up the good work. Greetings

Anonymous visitor's picture

application questions

I have a call center that I am converting to Linux. I want thin clients and all of this sounds good on both the client and server side.

What I am worried about is the actual running of the apps. We have to have more than just the boxes networked; they have some crappy windoze call center apps running on it as well.

So I don't know enough about how to get it to work on the server with say 50 people potentially hitting it. I have heard of crossover and wine; can anyone comment on how a multi-user environment will work in terms of actually running executables? If it was just a single user, I would try to get it to work with crossover and/or wine and at least see how that stuff works. Need to tap into the mult-user capabilities here while at the same time allowing for multiple users to hit it without crashing it or their workstations...

My recommendation is probably going to be them finding another application to run everywhere in the call center on Linux, NOT a windoze app. Can anyone recommend any good applications that are suited to call centers? Need something that allows the user to take a call and log it.

Any info is appreciated. THANKS!

redryan's picture

edubuntu or ubuntu

Hi very great article and thank you for making this...

I would like to know which is the best one to use the edubuntu or ubuntu server. I am confused which to use for a set up of 30 thin clients.

redryan's picture

via epia

in using via epia where do you put the power switch or the dc power jack

Sherwood Botsford's picture

LTSP + wine?

We have two applications the require windows or mac emulation.

1. Accelerated Reader. This program works through a web interface, but requries both current versions of QuickTime and Adobe Reader. The latter is not a problem. The former may be. I'm trying to convince them to remove the QT requirement.

2. The Learning Equation. This runs on every version of winsnooze since '95, so I expect it to run under wine. Does anyone have experience with running windows software under wine in an LTSP environment? Presumably this will up the ante on memory and CPU per client.

Anonymous visitor's picture

Accelerated Reader via Firefox

If you have the new web based version of accelerated reader, then you can access it from linux with the firefox browser. Instructions for this are on Suse's web page. However, if you have the 6.x version of the application, which installs to a workstation, then you are in the same boat I am, and I am trying to find a way to make that work in a thin client environment as well, but I have heard it has been done on linux also.
J

Anonymous visitor's picture

Thin -Clients and server.

I am trying to set up a language learning lab I can potentially set up a maximum of 30 thin clients and 15 thick or fat earthnet clients. My Idea is to have the fats run windows vista Ultima with local licensed software and then use Guadalinux from a dual boot or somekind of virtual machine. I need both so I can teach them at the school running windows 2007 professional software. The rest of the Thin clients would need to run video, sound, recording etc windows apps. This may be asking too much for a swap file. I invision a motherboard with a quad e6600 4 gigs of ddr2 800 ram two 500 gig sataII drives with two gigabyte nics. two lan switches with 24 gigabyte ports. I have installed cat6 gigabyte cable. I was thinking about aquiring miserable used pentium IV and then getting the cheapest lcds I can find for them. I would like to repacage them though so they all look the same maybe that isn´t such a good Idea maybe in the end a small fanless system would be best. I don`t have a clue how to go about setting this all up which is why I am trying to find out if is do able in the first place. Any insight would be appreciated thanks

Stephen Walder's picture

LTSP

There is a great supplier we use in the UK, they are the cheapest I've come across as yet and they have good customer service (www.thinstore.net)

The school I work at have bought over 30 thin clients from them.

Its also well worth checking what deals HP have on, the first deal we took advantage of was a £10 17" monitor deal when purchasing a £200 thin client, then a 3 for 2 offer on all thin clients.

We are having great success so far integrating a thin client network into our primary school. LTSP is excellent, we also use Windows Terminal Server for the apps that don't run on Linux.

It may be worth checking my blog if you plan to setup a thin client network in your school or want to switch to Linux.

http://stephen-walder.blogspot.com/

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options


[TheTop10Everything] [Zoeshire] [FSDaily RSS] [Illiterarty]