Uhm.. It's a long story, but let me try to tell it shortly. Im a college student, and I work as an internship at my college. My boss wants to develop a system for our library, very similar to a multiseat system, where we would have embedded lcd monitors and keyboards on the tables, for students to read .pdf books on them.
For those of you not familiar with the "multiseat" concept, it's the distributed use of a single cpu amongst 2 or more sets of keyboards, mouses and monitors. Since most of our daily uses for computers do not require more than 10% of the cpu's full capacity, it's a really nice way of providing computers for everyone with a really low cost. The thing is, multiseat systems usually require 1 graphics card for each monitor (or one graphics card for every 2 monitors, if it's a dual head one), and since my boss' idea is to use outdated computers (with limited hardware configuration), buying new graphic cards is sort of senseless, not to mention that those old PCs' motherboards support PCI cards only, and they're expensive and hard to find. The solution my boss came up with was to use a single graphics card (preferentially, the mobo's onboard card) and the parallel port, both connected to a external circuit, that would have 6 exit vga sockets, where the 6 monitors would be attached to. A software would be constantly switching sessions between all logged in users, while the parallel port would be sending data, informing the circuit which monitor should receive the imagem from that session at that time, and the circuit would have it sent to that monitor. The initial idea was to use virtual terminals (those you switch by pressing Ctrl+Alt+F[7-11]), having each student to login with his id number and password as their user data on the operating system. The first problem was the limited hardware power, which wouldnt allow me to start even a 2nd X session, let alone 6 sessions per computer. The next one was the always present delay between X sessions. That made us look for other solutions. A friend suggested to use virtual desktops provided by most window managers, since switching between them can be almost unnoticed. His idea was to, somehow, separate each desktop to a single user, having him log into that single virtual desktop, being unable to switch it. Since I've found nothing about being able to log into the same X session with different users, each using a different virtual desktop, another solution popped out: to log with a single user in a single X session, but to block the virtual desktops. The pdf reader software would now be accessed through a browser on a intranet, where the students would log into the intranet, not into the operating system anymore. Each monitor+keyboard+mouse would interact with a single virtual desktop only, and all the users would be unable to switch their virtual desktops and mess with other people's VD. There would still be an application constantly (and fastly) switching, but this time it'd be switching virtual desktops, which is way faster than switching virtual terminals, and sending data to that external circuit. It's a mix of multiseat systems with something completely new (or at least I think so), and I'm not even sure if it's possible, but hell, my boss is asking me to, so here I am. I said I'd be brief, but apparently I spoke too much, I apologize for that. And that's why, bizarre as it might seem, I need to know about those things I've asked... I'm alone on this project, and my boss keeps asking me for progress, so, any help would be REALLY appreciated. Sorry for any english mistakes, Im not a native english speaker, but I hope you've got what I meant at least :) @Florian Echtler: Thank you very much for your answers. Im still researching about the WMCtrl, so I cant say much about it yet. About the multiple X Sessions, I've tried it already, but as you can see in my huge story, I've had no success. @Quinn Harris: As I said, Im not a native english speaker, so Im still trying to get the full meaning of what you've said on your first paragraph, checking if I missed something on your answer, so I wont ask again something you've already said ;) As I said (again? :P), multiseat would be a great solution for my problem, wasnt the low costs idea. And, last, thats why I need that fast switching. Im absolutely NOT sure thats the right solution, but I've got no more ideas, and my boss is so excited about this project, I wish I could make it come true somehow :P P.S.: Sorry for sending this twice to you, Quinn. Didnt notice at first that I was replying to you only, and not to the whole list. My apologies :$ On Mon, Jun 1, 2009 at 9:19 PM, Quinn Harris <[email protected]> wrote: > Luca, > > X windows systems have a display for each desktop environment (KDE, Gnome). > All X windows applications look for a display server usually specified by > the > DISPLAY environment variable then connect to that server via local > mechanism > or a network socket. Go to a terminal and type "echo $DISPLAY" you will > probably get ":0.0" that number specifies what local display to use. If > your > system is setup for multiple simultaneous X logins (newer distros) each > login > will have a different xserver and display, the environment variable is how > processes launched in each environment know what xserver to connect to. > Only > one xserver process can use a video card at one time, though they can hand > off > control from one server to another and the text console typically using the > Ctrl+Alt+Fx keys. Until the recent xrandr 1.2 implementation, if an > xserver > was setup to use two monitors it would create two displays one for each > monitor unless the Xinerama option was on. In this case a different > desktop > environment could be run on each display with a common keyboard and mouse > which I think is what you are asking. > > If you have two separate video cards, it is possible (though there can be > issues) to run a different xserver instance for each card with an > independent > mouse and keyboard. So one computer with two sets of video, keyboard and > mouse could act like two different computers. This can also be done with > one > dual headed video card using Xephyr, but lacks some features (3D) and will > be > a little slower. Check out > http://www.x.org/wiki/Development/Documentation/Multiseat > > Why do you need to switch between virtual desktops rapidly from a script? > Are > you sure this is the right solution to your problem? > > > Quinn >
_______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
