Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Multiple Desktop Users on a Single Machine?

Cliff posted more than 7 years ago | from the multiple-heads-why-not-multiple-consoles dept.

GUI 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?"

Sorry! There are no comments related to the filter you selected.

XFree-Local-multi-user-HOWTO (5, Informative)

Cocoronixx (551128) | more than 7 years ago | (#18898391)

http://tldp.org/HOWTO/XFree-Local-multi-user-HOWTO /index.html [tldp.org]

The HOWTO is a bit dated, but it is probably relevant enough to get you on the right track.

XRDP (1)

athos-mn (64850) | more than 7 years ago | (#18898613)

Let's expand the parameters a bit - disparate hardware, maybe someone wants one of your existing PCs to run Windows occasionally (or a teacher with a Mac wants onto the shared box): Try XRDP [sourceforge.net] . It sets up quickly, can be access by multiple platforms, and on the client end just requires an rdesktop command.

Re:XRDP (1)

itwerx (165526) | more than 7 years ago | (#18900653)

Try XRDP

Try RTFA :)

XRDP still needs one box per user and that's what the submitter is trying to avoid.

One word (0)

Anonymous Coward | more than 7 years ago | (#18901741)

VMWare

You have to wonder why this is so rare (0)

Anonymous Coward | more than 7 years ago | (#18898747)

A standard PC nowadays comes with two graphics outputs (if you have a discrete graphics card, anyway - or standard laptops which have a built in screen plus a VGA/DVI port) and uses USB for keyboard and mouse (you can even get USB speakers). The hardware capabilities (and computing power) to allow 2 sessions are right there! Why can't you just plug the peripherals in, click a config button, and go?

I understand MS/Apple might want to sell more software... doesn't explain why linux doesn't do it.

Re:You have to wonder why this is so rare (1)

name*censored* (884880) | more than 7 years ago | (#18899749)

If I'm understanding what you're advocating correctly, then it's a very problematic solution. For one thing, you'd somehow have to make two mouse cursors each controlled by two independant mice, you'd need to keep each cursor within it's own screen (it'd be a bit kooky to see someone elses' mouse keep popping into your side of the screen). Same deal with keyboards - you'd need to make sure anything typed would stay on the screen it was delegated to. There are solutions to this - but they are rare BECAUSE not many people would use this

If I were the OP and had a computer powerful enough to even consider this, I'd sell or trade it for several crappier and stripped down machines - network boot to save on multiple hard disks, low wattage power supplies, onboard everything, etc.. You might end up using more power when they're ALL running with this solution, but given that you'd otherwise be powering up more power-hungry hardware just for two or three students in most cases, it'd probably work out in the end.

Re:You have to wonder why this is so rare (1)

644bd346996 (1012333) | more than 7 years ago | (#18900077)

The problems you describe with input devices can be solved with a trivial performance hit. If a computer can handle OO.o and Firefox simultaneously, it can probably handle another copy of each, considering the way it will be used. The OP just might want include more swap than he otherwise would for a low-end desktop.

Re:You have to wonder why this is so rare (2, Insightful)

Score Whore (32328) | more than 7 years ago | (#18900093)

You ever wonder what that DISPLAY environment variable means? :.? It's for having a single source of computing power with multiple displays used by multiple users. Back in the 80s when this stuff was being developed fast systems were still quite spendy. It made sense to spend half a million on CPU and RAM then stick six or twenty users on it. Now days it's mainly niche applications that take this approach.

Re:You have to wonder why this is so rare (2, Informative)

Short Circuit (52384) | more than 7 years ago | (#18904269)

If I'm understanding what you're advocating correctly, then it's a very problematic solution. For one thing, you'd somehow have to make two mouse cursors each controlled by two independant mice, you'd need to keep each cursor within it's own screen (it'd be a bit kooky to see someone elses' mouse keep popping into your side of the screen). Same deal with keyboards - you'd need to make sure anything typed would stay on the screen it was delegated to. There are solutions to this - but they are rare BECAUSE not many people would use this
I believe it's supported by X and the Kernel. Under /dev/input, you have a separate mouse device file for each mouse attached to the system. /dev/input/event* uniquely identify each HID device, meaning mouse, keyboard or joystick.

In your /etc/X11/xorg.conf file, you can create entries for each DEVICE (mouse) you want attached to the PC, and you can create entries for eachy DISPLAY (screen) you want. All you need are a few $30 PCIe video cards, and you can attach multiple monitors to the PC, each with their own GUI login session.

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.

If I were the OP and had a computer powerful enough to even consider this...
Are you kidding? X was designed from the get-go with exactly this kind of use in mind. One powerful 66MHz [sic] machine would serve as the application and GUI server, while thin clients were essentially network-attached monitors. It was intended as a GUI analog to the then-extensive use of text-only dumb terminals.

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.

Just run multiple XWindows (3, Insightful)

oliverthered (187439) | more than 7 years ago | (#18898397)

You could run multiple versions of XWindows using different configuration files.

In the configuration file you specify where the input devices come from and how you graphics card is setup so it should be faily easy to get one instance of X pointing to one KVM combination and one to the other.

Use the real deal (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#18902689)

You can always use Windows. It's a great solution, since it addresses the major flaw with Linux, in that it isn't Windows.

Just use the "Fast User Switching" feature in Windows XP. Nothing extra is required to be set up, you install Windows and you are done.

You might also want to consider using MS Office instead, since you will be gimping any real world education students get- if it comes down to a corporation hiring two people, and one of them doesn't know how to use MS Office... you have just made the decision to not hire your student a very simple one.

Since you are using all donated equipment, it's pretty likely some of the PCs will have OEM Windows licenses pasted on them. So it doesn't even cost you any money to use Windows, and you can probably even get MS Office licenses pretty cheap (or free), especially now that Office 2007 is out. Just use Office 97/XP/2003, they are all pretty much the same for the most part.

Don't shortchange your students by settling for second best. It will only hurt them in the long run.

So much trouble you had... (0)

Anonymous Coward | more than 7 years ago | (#18908199)

I only haha at you.

8-D

A few links... (5, Informative)

stevo3232 (794498) | more than 7 years ago | (#18898401)

Re:A few links... (1, Informative)

Anonymous Coward | more than 7 years ago | (#18898793)

Here are a few more links:
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:A few links... (1)

pintpusher (854001) | more than 7 years ago | (#18900461)

a couple more links

http://lists.debian.org/debian-user/2006/12/msg015 71.html [debian.org]
http://lists.debian.org/debian-user/2007/03/msg005 11.html [debian.org]

despite the titles of the emails, he's got it working and there is an xorg.conf and gdm.conf at the bottom.

I think he did a real how-to somewhere, but I can't find it.

Re:A few links... (3, Informative)

Anonymous Coward | more than 7 years ago | (#18899273)

Here are a couple other tutorials...

http://en.wikibooks.org/wiki/Multiterminal_with_ev dev [wikibooks.org]
http://gentoo-wiki.com/HOWTO_Multiseat_X [gentoo-wiki.com]
http://netpatia.blogspot.com/2006/09/multiseat-com puter-with-ubuntu.html [blogspot.com]

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).

Re:A few links... (1)

_Sharp'r_ (649297) | more than 7 years ago | (#18907245)

Thanks to everyone for all the links and suggestions. I've found a lot of the Multiseat X stuff since this was originally submitted 20 days ago, but I still missed 50% of the material various people have suggested as options and really value the responses and offers of help from people who've actually already done something similar.

Yes, but is it worth it? (2, Interesting)

MichaelSmith (789609) | more than 7 years ago | (#18898425)

In theory (and practice) you can run two X servers on different graphics cards. Plug in multiple mice and keyboards. Configure two xorg.conf files. You will have to do both manually.

If you use USB you can easily plug in as many keyboards and mice as you want, but how will you know in advance which is which?

Looking at older hardware you could use PS/2 for the keyboards but I don't know if you can use two of them.

Another way might be to use a really old machine as an X terminal, and use a more powerful machine as the server. Personally I would use NetBSD on the terminal, and a good linux distro as the server because you want to have a nicely integrated desktop. Which is not to say BSD can't do that. I run BSD on my servers and ubuntu on my workstations.

At the end of the day, if saving a bit of cheap hardware means spending a lot on labour, then its probably not worth it.

Re:Yes, but is it worth it? (2, Interesting)

mathew7 (863867) | more than 7 years ago | (#18898471)

It's pretty easy to configure an X server to distinguish between a USB mouse+keyboard, and PS2 mouse+keyboard and create 2 sessions. I think you can even do it using 1 Nvidia (or ATI) card with 2 outputs.
Since USB is dinamicaly allocating resources (IDs), I don't think you can put the same type of devices on one computer and expect to be mapped always to the same session, so going with a different configuration like I said before is risky.

Re:Yes, but is it worth it? (1)

Bert64 (520050) | more than 7 years ago | (#18898823)

You could always use a PS/2 keyboard/mouse for one head, and USB for the other...
You could also differentiate USB devices based on their vendor string, assuming you use different brands of USB devices.

Re:Yes, but is it worth it? (1)

wed128 (722152) | more than 7 years ago | (#18900027)

using allocators like udev, you can assign a specific file descriptor to each usb serial number. This would allow for consistent mapping...

Re:Yes, but is it worth it? (1)

EvilRyry (1025309) | more than 7 years ago | (#18900037)

I haven't had luck with multiple heads on the same card. If you were to do that, you would need to have 1 X server and then have nested X sessions inside of it. Its not pretty.
My wife and I shared a computer for about a year using Ubuntu 5.10. I had an Nvidia card for my screen, and a Radeon 9200 PCI for hers. I used PS/2 input, she used USB. It was nasty getting direct rendering going on the ATI as the Nvidia drivers overwrite some libraries. I eventually got it going by making a shadow tree of the /usr/lib/X11 directory, one had Nvidia drivers, the other the standard ATIs. Input devices can be forced to a particular X server by certain values from /sys. (Can't recall which ones ATM).
All in all it worked extremely well. Only headaches after the initial setup was that there was still only 1 sound card, and removable storage seemed always get stolen by my desktop.
Having said all this, there are several commercial solutions for this problem that would take out some of the hard work (and the fun!).

Labor of love (4, Insightful)

mdsolar (1045926) | more than 7 years ago | (#18898551)

This level of salvage is a labor of love. There is quite a lot of open box work happening anyway. I agree with yours and other posts that X11 is the way to go. There are a lot of schools that get junk as donations and this kind of creativity is something to be admired.
--
Solar power installed at no charge: http://mdsolar.blogspot.com/2007/01/slashdot-users -selling-solar.html [blogspot.com]

True (1)

lightversusdark (922292) | more than 7 years ago | (#18898639)

At the end of the day, if saving a bit of cheap hardware means spending a lot on labour, then it's probably not worth it.
True.

Re:Yes, but is it worth it? (1)

fjf33 (890896) | more than 7 years ago | (#18898703)

If you are using DIFFERENT usb keyboards and mice then you can setup udev to allways give them the same /dev entry. I am not so sure you can do that based on which USB port they get plugged into.

Re:Yes, but is it worth it? (3, Informative)

prefect42 (141309) | more than 7 years ago | (#18898799)

You're right on the money with this, and you can do it roughly based on the port (effectively) as often pairs of ports represent separately enumerated buses. I use:

KERNEL="event*",BUS="usb",SYSFS{bInterfaceClass}=" 03",SYSFS{bInterfaceProtocol}="02",NAME="input/%k" ,SYMLINK="input/evmouse-%b"
KERNEL="event*",BUS="usb",SYSFS{bInterfaceClass}=" 03",SYSFS{bInterfaceProtocol}="01",NAME="input/%k" ,SYMLINK="input/evkbd-%b"

To persistently name the devices attached.

Re:Yes, but is it worth it? (1)

mewyn (663989) | more than 7 years ago | (#18899131)

There's also a PORT option in the udev config file. I use it for my Linux Arcade cabinet to have ports on a hub always be the same game pad number.

Re:Yes, but is it worth it? (0)

Anonymous Coward | more than 7 years ago | (#18898927)

Another way might be to use a really old machine as an X terminal, and use a more powerful machine as the server.

Doesn't that mean you are now using two computers for one user?

Re:Yes, but is it worth it? (1)

ptelligence (685287) | more than 7 years ago | (#18901927)

Actually no because a student can sit at the server too. So two machines for two users.

Here's a HOWTO (1)

swillden (191260) | more than 7 years ago | (#18898441)

It's a bit dated, and the patches to the X server sources will almost certainly have to be adjusted to work on the current sourcebase, but here's a HOWTO [puc-rio.br] from someone who did it.

It's the third hit on a Google search for "multiple keyboards X11", BTW.

Re:Here's a HOWTO (2, Informative)

prefect42 (141309) | more than 7 years ago | (#18898863)

You certainly don't need to patch anything. evdev support should be in current Xorg releases, and it works just nicely.

Obvious - Linux/X11 (1)

kosmosik (654958) | more than 7 years ago | (#18898447)

This should be easy doable with Linux and X server. You need to plug in two video cards, two sets of USB keyboard/mouse and configure it a bit (but it should be not too hard) and it will work.

I don't think there is even legal possibility to do it with standard customer Windows version since it specificaly prohibits multiplexing of input/output devices/user sessions in its EULA.

So you basically have just one route - Linux (or *BSD or other freenix) and X11.

Re:Obvious - Linux/X11 (1)

thegrassyknowl (762218) | more than 7 years ago | (#18899623)

It's doable but not easy. Linux has no way in the standard kernel (when I last looked at this) to differentiate input devices so all mice and keyboards end up globbed as one input device. You need to patch the kernel to separate them out. Once you've done that it's a relatively simple matter of configuring a number of X screens on the available video cards, working out which mouse and keyboard belong to which X screen and putting them physically in front of it.

CPU speed is low priority - most users spend most of their time idle. RAM is majorly important. Jam as much RAM in the box as you can or your users will just bitch that it's slow; even two sessions with a fluffy desktop (gnome/kde) can chew out a gig without much effort.

Re:Obvious - Linux/X11 (1)

kosmosik (654958) | more than 7 years ago | (#18900097)

> Linux has no way in the standard kernel (when I last looked at this)
> to differentiate input devices so all mice and keyboards end up
> globbed as one input device.

You must have looked at it a long time ago. No patching is needed. It is just a simple matter of configuring Xorg to use different input/video devices for different screens. I am talking about X here. Regarding linux console (text one) you are right.

http://linuxgazette.net/124/smith.html [linuxgazette.net]

Here's one guy who built a six seat computer. (3, Informative)

Anonymous Coward | more than 7 years ago | (#18898479)

http://linuxgazette.net/124/smith.html [linuxgazette.net]

Not all good news though, seems it was a bit unstable. Still, it's a start. :)

Re: six seat computer... (0)

Anonymous Coward | more than 7 years ago | (#18902167)

The problem with a six seat computer is that nobody wants either of the bitch seats, and everyone wants driver or shotgun. That creates a bit too much tension in a school environment.

Also, you have to watch out for the older kids. They'll make it even more unstable by modding it with hydraulic suspension and ricer stickers.

Hardware solution? (1)

Admiral_Grinder (830562) | more than 7 years ago | (#18898495)

Wasn't there a company around 10 years back that sold add on cards that did this trick? Does that technology exist today or did it die out? I recall that the card had a video head along with ps/2 connectors. I saw it on one of the small time computer tv shows.

Re:Hardware solution? (3, Informative)

Daemonik (171801) | more than 7 years ago | (#18898569)

You're thinking of nComputing and they're still around: http://www.ncomputing.com/ [ncomputing.com] They have a nice hardware setup that allows up to 30 users on a single PC, and it runs on Windows 2000, XP, Server 2003, and Linux. You can also find them on TigerDirect http://www.tigerdirect.com/applications/SearchTool s/search.asp?keywords=ncomputing&image1.x=0&image1 .y=0 [tigerdirect.com]

Re:Hardware solution? (1)

AusIV (950840) | more than 7 years ago | (#18900255)

That looks pretty cool. Probably not as cheap as a roll-your-own method, but undoubtedly more stable. The fact that they offer a 30 day free trial is also somewhat encouraging.

Re:Hardware solution? (2, Informative)

Kauppila (1094183) | more than 7 years ago | (#18900303)

The NComputing solution works and works well. They have 2 different soltions. One does up to 30, they have another that is a PCI card that adds 3 computers to a computer (giving you 4 stations) And for $250 for 3 additional seats (and can run a total of 7 w/ one physical CPU) its pretty reasonable. We are evaluating it for our school district now.

Re:Hardware solution? (1)

Joe The Dragon (967727) | more than 7 years ago | (#18900705)

But thing like that needs a lot of ram and things can get real slow if you are running apps that need a lot of cpu power.

Re:Hardware solution? (1)

Daemonik (171801) | more than 7 years ago | (#18903197)

Anytime you have multiple users sharing the same PC, you want to have the beefiest PC that you can afford, it doesn't matter if it's a hardware OR a software solution. The newer PCs, however, with Dual and Quad cores make using them for something like this much easier.

Re:Hardware solution? (1)

merreborn (853723) | more than 7 years ago | (#18902563)

I used a similar solution from some knock-off vendor (which I can't even *find* via google, at this point), and lemme tell ya, it was absolute crap. A system that was perfectly usable for a single user became unusable for just two users. The software that drove the second session would lock up the processor for extended periods of time... even when the second terminal wasn't being used at all.

So, buyer beware. When done poorly, these solutions are worse than useless -- which makes the fact that they're fairly expensive all the more painful. Read reviews.

Re:Hardware solution? (1)

jayrtfm (148260) | more than 7 years ago | (#18906849)

That was probably Thinsoftinc.com and their Buddy system.
I have their Betwin drivers, and in 9 classrooms I turned 1 system into 4 stations, saved the school about $16,000, and didn't have to worry about blowing the circuit breakers.

One computer, many users (4, Informative)

Anonymous Coward | more than 7 years ago | (#18898501)

Check this out: http://www.linuxtoys.org/multiseat/multiseat.html [linuxtoys.org]

Not likely with Windows (3, Interesting)

Dan East (318230) | more than 7 years ago | (#18898553)

At one point I did some extensive searching to find an application / driver that would allow even partial multiuser control over Windows. We have a multimedia PC with two video outputs, one of which is dedicated to projection. Due to the physical layout of our control room, there are two keyboards and mice attached to the computer. All I wanted was a utility that gave each mouse its own pointer, so that two people could interact with my two custom programs at once. I never could find anything providing even that simple functionality, and it wasn't necessary enough for me to implement it myself.

So, an Microsoft OS is most likely out of the question for what you want to do.

Dan East

Re:Not likely with Windows (1)

athos-mn (64850) | more than 7 years ago | (#18898649)

I've seen an (illegal) hack to turn Windows XP into a terminal server. I'm not sure how legal this is (since there's no reference to purchasing additional Windows licenses), but ThinSoft's WinConnect [thinsoftinc.com] has a commercial program that does the same thing the hack does. There are problems with WinConnect: the license is really harsh (PC died? Tough crap, buy another license), and Windows XP doesn't regulate resources well in this mode: if six people launch the same app, you have six separate instances (rather than one split) run, with all the resource requirements six times over.

Re:Not likely with Windows (1)

mobby_6kl (668092) | more than 7 years ago | (#18898965)

Or you could just use Server 2003, no hacks needed there -- several users can connect at any time without any problems. Of course some applicatios are launched seperatly for each user, but for lightweight apps like web browsers, office and email it shouldn't be a problem. Oh wait, the submitter said he wanted to run OpenOffice...

Anyway, this is how it can work with thin clients. I don't know if it's possible to get several separate mouse cursors in one client session, never tried that.

Re:Not likely with Windows (1)

jbarr (2233) | more than 7 years ago | (#18899177)

Hacking Windows XP Pro or using Server 2003 certainly would provide multi-user access, but you still need additional client boxes to access the multi-user environment, and that's not what he's looking for. He wants to leverage the "extra" keyboards, mice, and monitors on a limited number of PC's. In effect, he wants to create "multi-head" PC's, not multiple client boxes accessing a multi-user PC.

Not currently doable in Windows AFAIK.

Re:Not likely with Windows (1)

Lost Engineer (459920) | more than 7 years ago | (#18908471)

True enough, but you can use thin clients quite effectively. It's still a box, but it's a small one.

this doesn't answer your question (3, Informative)

Clover_Kicker (20761) | more than 7 years ago | (#18898623)

but is a different way to stretch junk hardware.

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] .

groovix (0)

Anonymous Coward | more than 7 years ago | (#18898671)

I was recently at the university of vermont and they have this technology in their libraries, they use a linux distribution based on ubuntu called groovix.

I'm not entirely sure if you can use this without buying their hardware, but it may be something to look into.

Edubuntu... (4, Informative)

EvilGrin666 (457869) | more than 7 years ago | (#18898695)

Edubuntu [edubuntu.org] will do this out of the box for you. It's designed specifically for this sort of situation.

I don't think so... (4, Informative)

swillden (191260) | more than 7 years ago | (#18898833)

Edubuntu [edubuntu.org] will do this out of the box for you. It's designed specifically for this sort of situation.

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.

Re:I don't think so... (1)

mdsolar (1045926) | more than 7 years ago | (#18901679)

That's right, but this also might be better. True, you don't get to reuse the extra keyboards and monitors if the problem is dead motherboards, but what if the problem is dead disks? A motherboard with ethernet and graphics is going to work OK here and the solution looks pretty nice in terms of educational software pre-installed. This also looks nice from the system admin side and gives flexibility. If a working HD dies, your not out functionality of two seats you still have funtionality while you wait for donations that bring in a replacement HD. You can pick your two best boxes for a server and a backup, put together RAIDs and have robust reliability while only losing one seat at a time to motherboard, graphics card or ethernet card failure. This is easy to deal with by having a few working but slower motherboard systems in a closet for standby.

Server / Thin client (3, Insightful)

rlp (11898) | more than 7 years ago | (#18898697)

As an alternative, why net take the best parts and build a decent server, and then build as many thin clients as you can make. That way you can also lock down the thin clients and only have to maintain software on the server.

Re:Server / Thin client (1)

todd.deland (1094141) | more than 7 years ago | (#18898987)

this is a reasonable solution, build one great server to host something like vmware esx server then have tons of cheap o thin clients that you can control with the server. they boot from there... its secure, and very up to date. virtualization is the future! hope that help some :}

Re:Server / Thin client (1)

pebs (654334) | more than 7 years ago | (#18899843)

As an alternative, why net take the best parts and build a decent server, and then build as many thin clients as you can make. That way you can also lock down the thin clients and only have to maintain software on the server.

Or better yet:

How about do a server with thin clients AND have thin clients that have multiple keyboard/mouse/monitors.

Linux Terminal Server Project (LTSP) (4, Informative)

ptelligence (685287) | more than 7 years ago | (#18898709)

Get one server quality computer and load it up with Ram. The rest of the machines will be thin clients and can be just about anything down to a Pentium I. You can even run the machines diskless. You'll want a good 10/100 switch and at least a 100Mb NIC in the server. There will be a lot of information traveling across your network. I've done setups like this for kids in similar situations with donated hardware. One cool thing about this is that the students have the same experiences no matter what machine they sit down and log into. They don't have to be at one particular machine because that is where they saved their work. Definitely check it out. There is also a K-12 version for kids. Good luck. http://www.ltsp.org/ [ltsp.org] http://www.k12ltsp.org/ [k12ltsp.org]

Re:Linux Terminal Server Project (LTSP) (1)

jomegat (706411) | more than 7 years ago | (#18899905)

I used the K12LTSP project with great success at a school too. It is a very nice setup. I highly recommend that you remove disks from the client machines because the whole lab will get a lot quieter. It's amazing how loud hard drives are. I used a 1.2GHz server with 1GB RAM to run 20 terminals, and it was very snappy, even running OOo (this was about three-four years ago). A 100Mbit network is crucial.

Userful (3, Informative)

rob1980 (941751) | more than 7 years ago | (#18898731)

http://userful.com/ [userful.com]

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:Userful (1)

Magic5Ball (188725) | more than 7 years ago | (#18901141)

Ob. plug:

I know we've done other kinds of deployments [userful.com] into schools, libraries, Internet Cafes and other places, but the tattoo shop is new to me.

Also, the dual-head video cards aren't a strict requirement. As long as you can get it onto the bus, the majority of ATI and nvidia cards with 1-4 heads will work fine.

OP: Depending on what your requirements are, you may find interest in the basic Desktop Multiplier [userful.com] which provides multiple workstations from each PC, DiscoverStation [userful.com] which includes Desktop Multiplier and a managed desktop layer, or a solution from our education partners at Omni [omni-ts.com] who combine Desktop Multiplier with SLED and groupware.

Re:Userful (1)

rob1980 (941751) | more than 7 years ago | (#18901375)

You're right about the video cards, that's just what we did because we didn't have enough PCI slots to go around. :)

When will The X Windowing System get low power? (0)

Anonymous Coward | more than 7 years ago | (#18898773)

I've been looking on and off for software to allow 'suspension' and 'reconnection' of X servers.

The idea is:

One large super server
A bunch of X Servers.

Worker Bee starts X server, connects to server and get apps/desktop up and running the way they like. Comes 5 PM, they put the X session "to sleep" and turns off X Server. Next day, they turn on the X server, and do a 'reconnect' - BAM! Right back where they left off.

Has anyone seen this yet?

Re:When will The X Windowing System get low power? (1)

Lord Bitman (95493) | more than 7 years ago | (#18899061)

As I understand it from my googlings in the past, such various "this is so annoying and stupid that it doesn't support this!"-type missing features of X are actually part of the X protocol, but no one (NO ONE. Absolute zero. Not "almost nobody".) actually implements them.

I do not actually know the X protocol, or anything about X, really. Ever tried to read that thing? Maybe it's time to kill it bunches.

Re:When will The X Windowing System get low power? (1)

psmears (629712) | more than 7 years ago | (#18899855)

Has anyone seen this yet?
If I've understood you correctly, you can do that with Xvnc [google.co.uk] .

Hardware Solution from a School Network Admin (0)

Anonymous Coward | more than 7 years ago | (#18898787)

As I have been in your exact situation, I know how it is. The best solution I have found is the Xtenda X series from http://www.ncomputing.com/ [ncomputing.com] . It is a PCI card and a small box that will allow you to attach up to 3 additional K/V/M sets to a single host computer. If your host PC is powerful enough, you can install 2 PCI cards and run an extra 6 PC's from the host. For only about $200 for a kit (1 PCI card, 3 K/V/M boxes and the software) they are very affordable. Good luck.

hardware multi-terminal for linux (1)

emes (240193) | more than 7 years ago | (#18898805)

I have not used these products, so I cannot personally vouch
for them:

www.ncomputing.com

They offer a solution that sounds like what you want.

Re:hardware multi-terminal for linux (1)

enki700 (1094013) | more than 7 years ago | (#18905403)

i just purchased all 3 versions of ncomputing to test. $200-$350. i have to say they work great!!! i only did windows tests, but it mentions linux as well (2000 works too, no need for xp's TS). you install their custom RDP-like software on the host and it just works! you get exact same box multiplied - all installed software and data is there. i tested these for work, but now i may get a few for home.

XTerms (1)

i.r.id10t (595143) | more than 7 years ago | (#18898817)

X Terminals, either diskless or just enough to load X and then everything else comes from one Big Box.

Or something like:

http://www.linuxtoys.org/multiseat/multiseat.html [linuxtoys.org]

6 monitors, keyboards, mice, one tower.

XTerminals -- Linux thin clients! (1)

redelm (54142) | more than 7 years ago | (#18899473)

I like the idea of Xterminals, but I'm a dinosaur and remember the Real Thing: terminals that did X and you could log into the networked machine[s]. Sort of like a VT220 doing graphics. They ran BOOTP (iso DHCP) and TFTP to boot.

I think now you'd want boot from flash and DHCP. The minicomp would be a small box like a SohO router with SVGA out (only 2D required), 10/100baseT or wireless, a wall-wart for power, and USB or PS/2 for kbd/mse. Very tidy, very neat and very cheap. Add monitor, kbd, mouse and network to run.

Onboard SSH would be a must, but a key design decision would be whether to incorporate a browser client to the local X server. Doing so would usually improve performance and always cut X-traffic. But this would jeopardize making the box a stateless appliance. That might depend on whether the box was tethered to a server, or expected to work standalone.

With software, you can do much the same thing to much more powerful desktop and laptop machines using something like a Knoppix boot CD.

This should be exactly what you're looking for. (2, Informative)

screevo (701820) | more than 7 years ago | (#18898835)

http://biz.tigerdirect.com/applications/SearchTool s/item-details.asp?EdpNo=1870109&CatId=204&CMP=EMC -B2B&SRCCODE=WEDBB382 [tigerdirect.com]

Allow up to 7 people to use a single Windows PC simultaneously.

Seems to work in linux too... (2, Insightful)

rbarreira (836272) | more than 7 years ago | (#18899057)

According to that webpage, it seems to work in linux too...

Ugh. (1)

Colin Smith (2679) | more than 7 years ago | (#18899073)

This is a horrible way to do it. Whip out the hard disks and turn them into Thinstations [sourceforge.net] or LTSP systems. Even the old pentiums.

Turn what's left of the better machines into an array of X servers.

 

What about Sun Rays ?? (1)

paulz42 (638751) | more than 7 years ago | (#18899075)

Sun Ray server runs on Solaris 10 sparc and X86, which BTW includes StarOffice and Mozilla,so editing, email and webbrowsing should be no problem. If you want you can even use some Linux distros. More info at http://www.sun.com/desktop/index.jsp?tab=1 [sun.com]

Maybe use some of them as servers instead? (1)

Curmudgeonlyoldbloke (850482) | more than 7 years ago | (#18899111)

I suspect that the donated kit isn't actually going to be "latest and greatest" stuff, so having one CPU handle multiple sessions may slow things down a bit too much.

Once you've factored in the cost of your time, power consumption and (un)reliability maybe a more cost effective approach might be to consider donated kit for discrete server functions and buy one or more newer faster desktops to handle the multiple desktops? Maybe even do up the donated kit to sell on for "Internet access and email only" devices and use the cash elsewhere?

On a similar note... (1)

turing_m (1030530) | more than 7 years ago | (#18899153)

How do you manage quality of service issues in sharing an internet connection with 2 or more users if one wants to be doing general stuff (surfing the web, checking email, using skype etc) and the other wants to use up all the slack time with file sharing?

Re:On a similar note... (0)

Anonymous Coward | more than 7 years ago | (#18904171)

same way as you do now erm by port at the local external interface or by port at the router?

You just got here?

Available out-of-box (1)

Pointy_Hair (133077) | more than 7 years ago | (#18899167)

Quite a coinkidink, but I happened across this very topic during some semi-related web browsing yesterday. Others have noted the http://www.ltsp.org/ [ltsp.org] packages. You can buy ready to go systems using this out of the box at http://www.shoprcubed.com/products.asp?cat=46 [shoprcubed.com] and probably others. I didn't explore it, but they may sell the pieces and parts you'd need to add for that functionality on donated hardware. Upside = works right away with minimal configuration. Downside = kind of pricey compared to the OP's intended use of recycled hardware. I'd tend to go with others suggestions of piecing together an x-server and building thin clients out of less burly systems left over.

How I did it (2, Informative)

whatnotever (116284) | more than 7 years ago | (#18899333)

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:

  1. One graphics card per seat. I have an old AGP Radeon 9000 and a super-old PCI Matrox Mystique.
  2. A monitor extension cable if you want the seats far apart. I first bought a 15ft brand-name one from Buy.com that was absolutely worthless (thin cable, ridiculous ghosting even at low resolutions) - then I bought this "generic" one [newegg.com] which works perfectly.
  3. One keyboard/mouse pair per seat. One of my seats has a PS2 keyboard and a USB trackball, and the other has a PS2 mouse and a PS2 keyboard on a PS2 to USB converter [newegg.com] that works perfectly hanging off the end of a 10ft USB extension cable.

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!

Linux works for two consoles (1)

thsths (31372) | more than 7 years ago | (#18899475)

Linux works reasonably well for this. 2.6 does ok support for handling several keyboards, but it is still easier if one terminal uses PS/2, and the other one uses USB. Several graphics cards have been working for a long time, and with some graphics cards you can even use the two output for separate sessions. And with PCI-E you can also use two graphics cards without loosing any performance.

But the main questions remains: what do you gain? You still need two keyboards, two mice, two screens, two graphics cards, twice the RAM, and probably a faster processor. The only thing you can save is one harddisk and some space. Although with Linux, you can easily run a system of the server without any local hard disk.

Re:Linux works for two consoles (0)

Anonymous Coward | more than 7 years ago | (#18899819)

Keyboards, mice, and low-end graphics cards are cheap. You also don't necessary need two graphics cards, ones with two VGA or DVI outputs are very common. You probably won't need twice the RAM or a faster processor, either -- typical educational software isn't CPU or memory-bound at all. They probably won't even need PCI-E video cards; if you don't need hardware acceleration, plain old PCI is still good enough. Don't forget that you're also saving a motherboard, power supply, and case, and it's easier to maintain one computer than two.

Re:Linux works for two consoles (1)

dhasenan (758719) | more than 7 years ago | (#18900609)

If I run OpenOffice and you run OpenOffice, there's only one copy of OpenOffice in memory, but using twice the heap space (as much as you would be using alone and as much as I would be using alone). So you need less than twice the RAM.

Well, okay, I'm not sure how that works with jvm. But with standalone binaries, it's true; with shared libraries, it's true.

I've done it successfully (1)

DAharon (937864) | more than 7 years ago | (#18900251)

I was recently trying to do the same thing. I wanted to run two X sessions, each with their own login. The idea was that I would be able to use the same computer while viewing content on my monitor and my tv as different users simultaneously.



The first thing you need to do is let X know about your keyboards and mice. Then create multiple layouts (all this done in xorg.conf). Then edit your login manager config file (works for both kdm and gdm) so that it starts multiple instances of itself using the specified X layouts.


Below is the entry I added to kdmrc for my dual layout config:


[X-:1-Core]
AllowNullPasswd=true
AllowShutdown=All
NoPassEnable=false
NoPassUsers=
ServerArgsLocal=-nolisten tcp -config /etc/X11/xorg.conf.dual -layout Layout2
ServerCmd=/usr/bin/X -br


It's important to note that I while I did succeed in getting two X sessions running, and I was able to switch between them with alt-f7/alt-f8, I could not display both at the same time. Apparently you need a seperate video card for each session to pull this off successfully.

Linux and Xorg (1)

marros (1028810) | more than 7 years ago | (#18900277)

Take the most powerful computer you have, add 1 agp video card, and the rest pci video. Using a usb hub, plug in the appropriate amount of usb mice and keyboards (you can use the ps/2 ones for the main box), and then just configure the heck out of it, and it will work.

Install Ubuntu + SRSS (1)

forq (133285) | more than 7 years ago | (#18901551)

See this wiki [sun-rays.org] on how to install Sun Ray Server Software on an Ubuntu system, and then acquire some SunRay2 DTU's to drive keyboards/monitors/mice. SunRay is a very simple way to drive multiple user sessions off single device. Enjoy.

Simple answer is Groovix (1)

RobTerrell (139316) | more than 7 years ago | (#18901843)

Try Groovix. This was mentioned above, but it's been overwhelmed by do-it-yourself solutions, and if you're the one IT guy for a charter school, you probably need it simple and reliable. Check out their distro. It's based on Ubuntu, and you can download it from their web site.

For more info, check this page: http://groovix.com/slim.html [groovix.com] which explains how they support up to 10 seats (monitor, keyboard, mouse and speakers) per computer.

There's an article about Groovix being used in Maryland libraries here: http://www.linux.com/article.pl?sid=06/09/22/15422 54 [linux.com]

XTENDA (1)

SWad (454879) | more than 7 years ago | (#18903073)

We are looking into the XTENDA X300 [tigerdirect.com] solution. It is a card that uses CAT5 to connect to three remote XTENDA boxes that have monitor/keyboard/mouse/sound connections. You can install 2 cards per computer to have up to 7 PC's with one physical box. We like this for the following reasons:

1. Eliminate need for small switches in the classrooms.
2. Only maintain one computer.
3. Upgrades will be easier.

We still have some testing to do, but the preliminary stuff is very promising.

For an off the shelf solution... (1)

Ertman (29767) | more than 7 years ago | (#18904201)

Check out http://www.ncomputing.com/ncomputing/products/dire ct.php [ncomputing.com]

You can install this PCI card and have up to 4 users on a single Windows PC at the same time. Install 2 cards and have up to 7 users.

One card and 3 extenders cost less than $225.

M$ Liability? (1)

mdsolar (1045926) | more than 7 years ago | (#18904431)

What is M$' liability? Surely they were collecting licensing fees and knew what the machines were being used for. Given their warning, should they not have refused to license? Does their warning get them off the hook? Didn't work for Napster....
--
Solar power with maintenance included: http://mdsolar.blogspot.com/2007/01/slashdot-users -selling-solar.html [blogspot.com]

Re:M$ Liability? (1)

mdsolar (1045926) | more than 7 years ago | (#18904485)

Oops, wrong thread.

I have set this up and it works great (2, Informative)

killerkalamari (528180) | more than 7 years ago | (#18905165)

Here is the link you need:

http://research.edm.uhasselt.be/~jori/page/index.p hp?n=Misc.DualSeatX [uhasselt.be]

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.

Why not run Solaris and SunRay (0)

Anonymous Coward | more than 7 years ago | (#18905731)

Hey;

Solaris can a lot more stable than Linux and these types of virtual classrooms can easily be put together with the SunRay server software. Used sunray appliances (read graphics card, keyboard ports, etc) can be found on ebay for cheap. You can download both Solaris and the SunRay server software from Sun. I've supported a class with 100 seats from a single machine (8 dual core cpu in that case). You can still do it on x86 for a a few seats with an older machine. And, if you prefer Linux, Redhat (and one or two others) is also supported.

I used LTSP, but still searching (1)

h00manist (800926) | more than 7 years ago | (#18905759)

I used LTSP in a cybercafe, worked great. userful.org has an interesting distribution. one computer, ten monitors+keyboards+mouse, ten users on one computer. Ndiyo has an interesting alternative, but it's not a product yet.

LTSP vs Multi-Head (1)

tesno2 (170470) | more than 7 years ago | (#18911313)

I set up a K-12 school in Bolivia using 12 Multi-Head PC's driving 3 stations each giving 36 terminals. The original version used the Backstreet Ruby kernel patch and a hacked X server. It has been running stable for 2 years now. I have been trying out X.org which is stable with new (9631) Nvidia drivers (we use one onboard Nvidia graphics card and 2 Nvidia PCI graphics cards - around $50 each).

I looked into an X terminal solution but the performance was not good enough. We want to run kids educational games that have nice graphics and things changing quickly on the screen - LTSP is too laggy. The machines use Athlon XP 2500+ processors with 512MB RAM.

Getting a stable configuration can be tricky. Chris Tyler's blog here:
http://blog.chris.tylers.info/index.php?/archives/ 14-Multiseat-X-Under-X11R6.97.0.html [tylers.info]
has useful tips that helped me out - you have to wade through some crud to find them...

Ideally we would like to use VMware or Wine so the kids could play Windows educational games - they are lots of them and the kids love them. I have not been able to get the games to run on Wine however and with VMware, the performance is not good enough. We set up another Elementary lab with Win98 installed - PIII 750's with 128MB and 40GB 5400RPM drives is plenty for the type of games they run.

Good luck!
Feel free to contact me if you have any questions.

Recently done this too (2, Informative)

onetwofour (977057) | more than 7 years ago | (#18911791)

I've just recenetly been trying to multiseat X, the linuxtoys.org and http://gentoo-wiki.com/HOWTO_Multiseat_X [gentoo-wiki.com] are good references on this, even though the gentoo one is a little outdated now. Anyway, I recommend either Ubuntu or gentoo for this and I used Xorg 7.1 with Gnome 2.16. I plugged an ATI Rage 128 with two matrox mga pci cards into the machine and started playing about, your core files that are going to allow you to do this is /etc/X11/xorg.conf & /etc/X11/gdm/custom.conf (or whatever flavour of xdm you are using) Firstly in xorg.conf you will need to define your devices & seats as in the tutorial, a *WARNING* at this point. There currently exists a bug with multiseating within xorg, that if you don't have an active monitor and keyboard for each seat (excluding your primary device) then it will crash the entire system. (This bug has been reported) Once you've done this it's the gdm configuration and I used the following: 0=Standard 1=Extra [server-Standard] name=Standard server command=/usr/X11R6/bin/X0 :0 -deferglyphs 16 -novtswitch -isolateDevice PCI:1:0:0 -layout seat0 flexible=false [server-Extra] name=Extra Server command=/usr/X11R6/bin/X1 :1 -sharevts -deferglyphs 16 -isolateDevice PCI:0:9:0 -novtswitch -isolateDevice PCI:0:9:0 -layout seat1 flexible=false This works for my system, the sharevts is a tricky option and it only served to give a display bug on my rage 128 (and wasn't required for the first video device). I would also suggest you turn off any vtcontrol in xorg.conf, this can be done with: Section "Serverflags" Option "DontVTSwitch" "yes" Option "DontZap" "yes" EndSection My conclusions? Multiseating can work very well, it's certainly on it's way to being more stable and certainly is viable for your situation.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?