I wanted to figure out how to have multiple terminals (monitor, keyboard, and mouse) use a single centralized system. I guess at this point I can get computers for around $150, and use them as dumb terminals, but I would really like to centralize about 20 users onto 2 boxes of 10 each. Saving 2k would be nice. Has anyone done this before?
Note, all the users do is email/browse web using an internal web app that runs on another server.
Also, I looked at disklessworkstation.com, but their "thin clients" are $200-$400. I can get a barebones PC for $150. I would be more looking for a $50 and/or under device that could talk on the network, or a way to throw more video cards and usb ports onto a server for I/O.
What you are looking for is called a multiseat setup.
Look at https://cs.senecac.on.ca/~ctyler/ruby/
If they are on a local lan the easiest way to do this is to use XDMCP, the X browser and native X over the local network. Check out the LTSP project for a good working example of this for schools. There are also several thin client oriented linux distributions which will help you do this. Its a bit of a complicated question to answer in full here but I think reading up on what has been done with respect to the Linux Terminal servers project will get you up to speed fairly quickly.
and here is another quick article
I work in a school, and have seen, used and implemented a few different multi-seat systems in the past few years with the aim of getting banks of workstations into classrooms.
For a Linux machine stuffed full of extra two-port graphics cards, with no propitiatory hardware needed, try Userful. You can download a free two-user demo, which seemed to work well enough when we tried it in a classroom. The software does cost money, though, and is comparable in price to similar Windows-based solutions. Buying matching compatible hardware, USB hubs, keyboards and so on (and configuring X for dual-port output) is a right palaver, so if you have the money to hand then buying their all-in-one hardware and software solution is probably the best idea.
NComputing's system works with their software and propitiatory hardware, a PCI card that you plug in the back of your PC to attach 5 workstation dongles that you then plug keyboards, mice and sound into. Note that these are PS/2 keyboards and mice (something to do with the system making use of PS/2 timing signals, I believe). One PCI card does 5 workstations, you can have up to 10 workstations by using 2 PCI cards, although I would point out that it's getting increasingly difficult to find decent motherboards with more than one PCI slot these days.
We use NComputing's older 3-workstation solution in our school staffroom on a Windows machine, and it chugs along okay. It seems to handle graphics and video better than you might expect, and the YouTube demo on their site shows their system running on one consumer-grade Dell PC with all 10 workstations running video, so a pretty standard PC (quad core might be a good idea) with some extra RAM (8GB is quite cheap these days) should handle most things.
I've actually got to repair the above-mentioned staffroom machine tomorrow, mainly because being a Windows machine the staff have stuffed it full of spyware and goodness-knows-what until it simply fell over. The licensing routine for the software is a bit over-protective, although seemingly this has been rectified in newer versions. It's worth pointing out that having one machine running multiple workstations does create a single point of failure.
From speaking to NComputing at a trade show in January, I know they were developing a Linux port of their software, although I haven't heard anything from them recently. Contact them for more details.
MiniFrame's SoftXpand system sounds similar to both of the above, using multiple standard graphics cards to run Windows workstations. I don't think they have a Linux version, although it's worth a check.
Double and triple check your Windows licensing before you use such a system with a Windows operating system. As far as me and a bunch of other people have been able to figure out, the best licensing option seems to be Windows Server with the appropriate number of Terminal Server CALs. Various resellers might well try to flog you systems that promise to run 10 workstations from one Windows XP PC, and it might be perfectly legal for them to supply such systems (they are, after all, supplying one PC with one copy of Windows), but you'll need to ensure each workstation is properly licensed (this gets really confusing in corporations and schools with Microsoft License agreements).
Technology has moved on in the year or two since we bought the multi-seat system, and for our new staff work area we bought Acer Veriton N260G machines, which clip on the back of an LCD monitor. Atom processor, low-powered, perfectly capable of everything the average user wants to do, just over £320 ($500USD) complete with widescreen monitor, keyboard, mouse and delivery, so I doubt a multi-seat system is going to save any money, and I don't know how the multi-seat power savings would compare against Atom-powered mini workstations like the Acer Veriton and Revo.
I think you are being a bit overly optimistic about how much you can save or accomplish on a single machine, and how much you could save by doing something like this.
That said, one vendor that offers what you want is Ncomputing. Specifically look at there X-Series virtual desktops.
Two paths to take here: 1. Virtualization with KVM (or Xen), and use the setup for VDI 2. LTSP - http://www.ltsp.org/
If I understand your question correctly you are trying to save on buying 20 cheap $100 desktops by instead buying 2 cheap $100 desktops and hooking 10 monitors/keyboards/mice to each. That won't work. You can deploy 20 dumb terminals using something like LTSP but you will still need 20 cheap computers sitting on desks in addition to a couple of computers in the back with more resources (around 4G+ RAM and 2+ CPU to handle 20 users). In this case the 20 computers you'd need to buy to use as terminals may also be powerful enough to run local email/web/etc. reducing the need for additional terminal servers.
The big win for central terminal servers is going to be more in management than cost, instead of 20 machines that need access to critical resources, patches, software installs and configuration you only have 2.
For 10 users per box, I would suggest installing OpenVZ on the two servers so that each user's activities are more isolated than in a traditional UNIX timesharing environment. Others have already pointed you to LTSP in order to run the $100 computers as X-terminals. If you really want them to be dumb, you should probably remove their hard drives and configure them as diskless workstations. However, if you have no experience doing this, consider installing your favorite distro on the workstations, and let them run things like Firefox on the remote CPUs rather than the main system. If they don't have root, and you force all data to be stored on a remote server (not the same as the terminal servers), then you would have 20 machines with hard drives that you can control remotely, with a familiar distro installed and some storage. In some places that would be considered a valuable resource.
The choice of LTSP or your favourite distro is really up to you, based on what you know, and what you want to learn about. Ten years ago, the machines running LTSP really didn't have enough power to run stuff locally, but nowadays, $100 of computer is not something that you really should leave sitting around idle. If you find that some corporate app puts too much load on the terminal servers, being able to offload Firefox and email clients onto the terminals will help you.
And please don't use the terminal servers for file storage. Put your hard drives on an entirely separate set of servers and use NFS or iSCSI to access them. Personally, I would use OpenSolaris with ZFS for that job, but there is plenty of NAS software for Linux too.
You may want to look into Sunray Desktop Terminal Units as ultra-thin clients to connect to an instance of Sunray Server
Fedora 17 supports multiseat out of the box. One way to implement it is with a Plugable docking station for each seat, which basically makes that seat a thin client that connects over USB to the computer. Alternatively, you can use the
loginctl command to assemble any set of video card and input devices into a seat.