<< Quotes come from several messages on this thread. > The way I see is providing multiple event queues, one for each user > (=screen, or even set of screens), and attach one keyboard and one > mouse to each queue. And make one mouse cursor for each queue. I'm > probably missing something important, but on first view, that seems > to be it. Any insight?
This is very bad. Each user should have their own server. It's just easier, more elegant, more secure, and more stable that way. What if one user logs out? this kills the X-Server. Or were you planning on re-writing the XDM protocol too? What if one user's app listens to events for the other's screen while the other user is typing in a passphrase? What if one user starts running a GL-intensive app? I think the way to go is to modify the X-Server so that grabbing a VT is optional, and the default keyboard device is configureable and modular (thus allowing many types of device). This solves all your problems. Then all you have to do is set up several configurations and tell it which to run on the command line (or XDM config file). Everything but setting the VT grabbing optional and modularizing the keyboard input is already done. > I think a better way would be to use only one instance of XFree, have > it handle multiple monitors (that already works just fine!) WITHOUT > Xinerama, and add more event queues, each for one screen/user. And of > course, add support for multiple (USB) keyboards (at least two > solutions exist) and multiple mice with one cursor each. There is a one to one relationship between users and XServers for good reason. Without seperation of servers, events of one user could affect the other. How does a program know that :0.0 is it's user's and :0.1 is not? With seperate Servers, either with no VT code or with the new linuxconsole kernel patches, the two servers are completely seperate, thus greatly reducing the changes to X that are nescesary and eliminated the need for changes to the X protocol and client applications. > > 2) You could not go through the kernel and instead attempt to access the > > video card manually or through the frame buffer or something smart - and > > some has done this, and posted various patches.. although that still > > only allows a max of two heads. Or you could use the LinuxConsole kernel patches (linuxconsole.sourceforge.net) to set up multiple consoles. You may need to modify X to do it this way, I've only read the linuxconsole web pages; I haven't tried it. > I don't quite understand what you mean by this, but again - I don't > think this is the problem, multi-head support is already working. > (Maybe not for all cards, though.) Multi-head on one server is a completely different thing from having multiple users. > I don't think the X protocol has anything to do with it. Isn't the > multi-screen support much like two independent X servers already? How > closely coupled are screens :0.0 and :0.1? They run on the same server, and are therefore are owned by the same user, and are associated with the same socket (usu. 6000). It would Be WAY more work to get one server to support two sessions at the same time than to just run two seperate servers, decoupled from the VT system. > > 5) It is hard getting many monitors on a machine simply because the > > cables aren't that long! The longer you make the cable, the worse the > > image gets on the monitor. I think you can get round this by using LCD > > screens - but can't remember for sure. > > This may be a practical problem in some cases, and no problem at all > in other. Think classrooms, internet cafe's... Many monitors (and > computers, needlessly) stacked one right by the other, very close. Monitor cables are often four feet long. If you put the computer at desktop height instead of on the floor, Two users could be up to 8 feet apart. > > 6) A nicer way of doing all of this is simply to have lots of very cheap > > nasty machines with nothing but a mobo, CPU, ethernet card and monitor - > > then get one big server to control them all. See the linux terminal > > server project. One cheap nasty machine with nothing but a mobo, CPU, ethernet card and monitor, plus 3 video cards (plus one onboard) and monitors is bound to be cheaper. Plus imagine how much easier it would be for a VAR to sell Linux (or other free *NIX) if someone could come into their shop expecting to buy a new computer and walk out with a video card, monitor, keyboard, and mouse. > There's more to it than that, albiet in little ways. Who gets sound? Who > Gets floppy/cdrom? I'll admit that I don't hang out in internet cafes, so > those may not be available anyways normally. Plus, you mention VGA and > monitor which you'll need anyways. Sound? For office settings, sound cards are often disabled, removed, or declared off limits anyways, to avoid annoying co-workers. In an internet cafe you could install multiple sound cards just like the video cards. floppy/cdrom? With central backups and access to the internet people should rarely need to use these. floppies and cdroms are not normally available in an X-Terminal/Thin-Client/Network-Computer/whatever environment anyways. > ... I'd save myself the hassle and either build a low-grade PC, or buy a > network computer (about $700-$1000). But would you buy 250 network computers if you could build 64 quad-user stations for close to the same cost per unit? (not including cost of the monitors) _______________________________________________ Xpert mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xpert
