Best way to set up a Linux Network - workstations or 'Thin Clients'?

Hi folks,
I am a network admin for a special school, currently with around 250 machines used by staff and pupils.
At the moment we have a Windows 2003 server environment with Windows XP Pro clients controlled by Active Directory.  The students have Mandatory Roaming Profiles and the staff have Roaming Pofiles.
We are looking at changing the school over to Linux over the year or so and I'm keen to get the structure of the new network right straight off the block.
The main part of the question here is should I be looking at a network structure similar to the one we already have or should we be leaning more towards the 'Thin Client' Terminal Services example?
What are the advantages each method?
I know  that I'm approaching Linux with a windows based eye - should I be thinking along a different route? Does linux work well in this fashion or am I barking up the wrong tree?
An odd question for which I expect there will probably be a complicated answer, hence maximum points  - so over to you..
Oh, by the way, although I am knowledgeable in Windows, I am something of a virgin with Linux (training pending) so bear this in mind in your replies.

Who is Participating?
Linux Terminal Server Project (adds thin-client support to Linux servers):

Thin clients


Obviously, boot image control is much simpler when only thin clients are used  typically a single boot image can accommodate a very wide range of user needs, and be managed centrally, resulting in:

    * Lower IT admin costs. Thin clients are managed almost entirely at the server. The hardware has fewer points of failure and the local environment is highly restricted (and often stateless), providing protection from malware.
    * Easier to secure. Thin clients can be designed so that no application data ever resides on the client (it is entirely rendered), centralizing malware protection and minimising the risks of physical data theft.
    * Lower hardware costs. Thin client hardware is generally cheaper because it does not contain a disk, application memory, or a powerful processor. They also generally have a longer period before requiring an upgrade or becoming obsolete. The total hardware requirements for a thin client system (including both servers and clients) are usually much lower compared to a system with fat clients. One reason for this is that the hardware is better utilized. A CPU in a fat workstation is idle most of the time. With thin clients, memory can be shared. If several users are running the same application, it only needs to be loaded into RAM once with a central server. With fat clients, each workstation must have its own copy of the program in memory.
    * Lower Energy Consumption. Dedicated thin client hardware has much lower energy consumption than thick client PCs. This not only reduces energy costs but may mean that in some cases air-conditioning systems are not required or need not be upgraded which can be a significant cost saving and contribute to achieving energy saving targets.
    * Easier hardware failure management. If a thin client fails, a replacement can simply be swapped in while the client is repaired; the user is not inconvenienced because their data is not on the client.
    * Enhanced data security. Should a thin-client device suffer serious mishap or industrial accident, no data will be lost, as it resides on the terminal server and not the point-of-operation device.
    * Worthless to most thieves. Thin client hardware, whether dedicated or simply older hardware that has been repurposed via cascading, is useless outside a client-server environment. Burglars interested in computer equipment have a much harder time fencing thin client hardware (and it is less valuable).
    * Hostile Environments. Most devices have no moving parts so can be used in dusty environments without the worry of PC fans clogging up and overheating and burning out the PC.
    * Less network bandwidth. Since terminal servers typically reside on the same high-speed network backbone as file servers, most network traffic is confined to the server room. In a fat client environment if you open a 10MB document that's 10MB transferred from the file server to your PC. When you save it that's another 10MB from your PC to the server. When you print it the same happens again  another 10MB over the network to your print server and then 10MB onward to the printer. This is highly inefficient. In a thin client environment only mouse movements, keystrokes and screen updates are transmitted from/to the end user. Over efficient protocols such as ICA or NX this can consume as little as 5 kbit/s bandwidth.
    * More efficient use of resources. A typical thick-client will be specified to cope with the maximum load the user needs, which can be inefficient at times when it is not utilised. In contrast, thin clients only use the exact amount of resources required by the current task  in a large network, there is a good probability the load from each user will fluctuate in a different cycle to that of another user (i.e. the peaks of one will more than likely correspond, time-wise, to the troughs of another.
    * Simple hardware upgrade path. If the peak resource usage is above a pre-defined limit, it is a relatively simple process to add another rack to a blade server (be it power, processing, storage), boosting resources to exactly the amount required. The existing units can be continued in service alongside the new, whereas a thick client model requires an entire desktop unit be replaced, resulting in down-time for the user, and the problem of disposing of the old unit.
    * Lower noise. The aforementioned removal of fans reduces the noise produced by the unit. This can create a more pleasant working environment.
    * Less Wasted Hardware.


*   The central server has the responsibility to do most or all of the processing. Therefore resources such as CPU power and memory size must be concentrated on the server.
*   If the server goes down or is compromised then all users will be affected.
*   Limitations for multimedia applications.

See also:

There is also Linux distributions with thin clients functionality already in:

Thinstation is a thin client Linux distribution that makes a PC a full-featured thin client supporting all major connectivity protocols: Citrix ICA, NoMachine NX, 2X ThinClient, MS Windows terminal services (RDP), Cendio ThinLinc, Tarantella, X, telnet, tn5250, VMS term and SSH.
No special configuration of the application servers is needed to use Thinstation!

PXES is a micro Linux distribution allowing you to build thin clients or diskless workstations. Hardware not suitable for other uses like current desktop OS can be recycled and converted into a thin client.
The configuration of the micro distribution is done with an easy to use graphical tool which guides you through the required steps. After booting the thin client will be capable of accessing any Unix/Linux XDM (X Display Manager) server presenting the graphical login screen or any Microsoft Terminal Server through RDP (Remote Desktop Protocol), Citrix ICA server, VNC server or NoMachine NX.
UncleBubbaAuthor Commented:
Thanks for your replies Wod.  
It seems you come down heavily in favour of the thin client approach.  In the absence of any advice to the contrary I will investigate this route further.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.