Multiple Desktop Users on a Single Machine? 106
_Sharp'r_ asks: "I'm trying to design the least expensive way to make OpenOffice, email, and a web browser available to students in a new charter elementary school. In my past experience working with charitable computer donations, I can usually get three to four working computers out of five donated 'broken' computer systems, usually with plenty of monitors, keyboards and mice left over. I'd like to use one computer for multiple students by attaching multiple monitors, USB keyboards and mice. What drivers/OS versions support multiple local input devices and monitors that can be attached to a specific login session? Will this require virtualization? Is there a config I haven't found that you can use to assign these devices to specific ttys? Have you done this before?"
XFree-Local-multi-user-HOWTO (Score:5, Informative)
The HOWTO is a bit dated, but it is probably relevant enough to get you on the right track.
A few links... (Score:5, Informative)
http://www.google.com/search?q=multiseat+x [google.com]
http://cs.senecac.on.ca/~ctyler/ruby/ [senecac.on.ca]
http://blog.chris.tylers.info/index.php?/archives
http://www.linuxtoday.com/infrastructure/20051207
Here's one guy who built a six seat computer. (Score:3, Informative)
Not all good news though, seems it was a bit unstable. Still, it's a start.
One computer, many users (Score:4, Informative)
Re:Hardware solution? (Score:4, Informative)
this doesn't answer your question (Score:4, Informative)
Have you looked at Linux Terminal Server Project [ltsp.org]? Any old junk makes an adequate client, memory requirements are something like 64MB.
There's an there's an active LTSP community, including guys use it in schools: www.k12ltsp.org [k12ltsp.org].
Edubuntu... (Score:5, Informative)
Linux Terminal Server Project (LTSP) (Score:4, Informative)
Userful (Score:4, Informative)
I used this to set up 8 workstations (virtual art galleries, actually) out of two machines for a tattoo shop across town. I've followed some of the resources already linked on this topic and was never able to get such a setup working, but this software did it just fine. All you need are some dual-head video cards and USB hubs.
Re:A few links... (Score:1, Informative)
http://userful.com/ [userful.com]
http://cambuca.ldhs.cetuc.puc-rio.br/multiuser/ [puc-rio.br]
http://linuxdevices.com/news/NS4818008579.html [linuxdevices.com]
Re:Yes, but is it worth it? (Score:4, Informative)
KERNEL="event*",BUS="usb",SYSFS{bInterfaceClass}=
KERNEL="event*",BUS="usb",SYSFS{bInterfaceClass}=
To persistently name the devices attached.
I don't think so... (Score:5, Informative)
Are you sure about that? AFAIK, what Edubuntu provides is LTSP, which allows you to run one machine with a bunch of thin clients attached to it, but each of the thin clients requires another PC. That's not the same as attaching multiple monitors and keyboards directly to one computer.
This should be exactly what you're looking for. (Score:2, Informative)
Allow up to 7 people to use a single Windows PC simultaneously.
Re:Here's a HOWTO (Score:3, Informative)
Re:A few links... (Score:3, Informative)
http://en.wikibooks.org/wiki/Multiterminal_with_e
http://gentoo-wiki.com/HOWTO_Multiseat_X [gentoo-wiki.com]
http://netpatia.blogspot.com/2006/09/multiseat-co
I did a multiseat setup using Ubuntu for Software Freedom Day last year and it worked quite well. The only way I was able to achieve hardware-accelerated 3D on _every_ head was to only use NVIDIA video adapters with the proprietary driver. (yes, I'm aware of the irony!) Unfortunately, none of the free (libre) drivers supported accelerated 3D on multiple heads at that time but perhaps things have changed with the latest release of Xorg.
Setups like this are quite fascinating to me as they reveal how much more efficiently a computer of moderate specs is capable of being used--desktop users don't even notice that they are sharing a machine. Some aspects are a little complicated (like mapping different sound cards to the correct seats) but IMO there is a _lot_ of potential in this area due to ease of administration, energy savings, and a decrease in noise (less computers means less fans whirling).
How I did it (Score:3, Informative)
There are a lot of different ways to do this under Linux; someone has already posted several links to some resources. The easiest way I found, and the way I've been running my two-seat, single-machine setup at home for about a year, is simply using the capabilities of newer versions of X Windows as described on Chris Tyler's blog [tylers.info] (included in those links earlier).
All of the other methods I've seen require non-standard kernel modules or non-standard X servers, etc. This way uses standard software, and I think it should work for most modern distributions (I'm using Gentoo).
What you need hardware-wise:
The software setup is described fairly well in Chris Tyler's blogs (don't skip the comments - there are useful tips from others in there, and on this followup page [tylers.info]), but here's the basic idea: You run two separate X instances, each with a different ServerLayout section in the config file. They obviously need to point to different video cards (and I found that using the "SingleCard [google.com]" option was necessary to get both to work), and you also need to separate the input devices between the two. The best way to do this that I know of (again, avoiding odd kernel modules or other software) is evdev. It's somewhat complicated, but it lets you specify input devices based on where they are plugged in or their specific model numbers, etc. It's fairly flexible.
Once you have two separate X instances up and running, it's a fairly simple matter to get gdm (and I assume most other *dm applications) to launch both automatically with independent login screens.
Good luck!
Re:Hardware solution? (Score:2, Informative)
Re:You have to wonder why this is so rare (Score:2, Informative)
In your
I'm not sure whether X supports multiple keyboard yet. I seem to recall reading about a patch for XFree86 3.3.6, but that gives you an idea how long its been since I looked into it.
Yes, operating systems and applications have become more resource-intensive over the past 20 years, but do you really believe someone needs even a 3GHz P4 for educational purposes? I've been using Linux on a 1.8 GHz Athlon XP laptop for the past two years for notetaking, programming and web browsing. Until six months ago, I had it underclocked to a mere 1.06GHz, and had no issues with anything that might be considered educational use.
For similar purposes, an Athlon64 X2 4800+ desktop machine with a gig of RAM should be able to support five or six users, as long as you watched out for applications prone to excessive memory usage. And that's a machine you can throw together for only $700. Divide that by six users, and you're talking about a mere $116 per user. That's cheaper than the OLPC. Hell, that's cheaper than I've seen 500MHz desktops sell for at mom-and-pop shops in my area.
I have set this up and it works great (Score:2, Informative)
http://research.edm.uhasselt.be/~jori/page/index.
I recommend the Xgl method for the following reasons:
* free (GPL)
* lets you use both heads of dual-head cards (that's what I'm doing.. I have just one video card)
* allows you to use graphics acceleration (I've played opengl games on one screen while my wife was surfing on the other)
* seems stable
* works with your existing xorg / xgl binaries and kernel (no recompiling of these apps)
The instructions on the page are pretty good, but if you need help setting it up, I'd be happy to assist. See my website for my e-mail address.
It works good for us. I'm running Kubuntu AMD64.
Good luck.
Recently done this too (Score:2, Informative)