Written by snadrus the 5 Mar 08 at 23:45.
Category: Look and Feel.
Related project:
Nothing/Others.
Status: New
Rationale
A feature that's possible but not intuitive in Ubuntu today is the setting up of one PC as "multiple workstations" - i.e. connecting two keyboards, two mice and two monitors to one PC and having two users log in and work independently.
I would love to see this feature made simpler to set up, as it would be great for a lot of home users (e.g. buying a one powerful computer instead of 2 or 3 computers for the kids), as well as in schools, internet cafes etc.
I have all the hardware sitting right here not being used, waiting for userful to work on Hardy. Even when it does, what Sceens and Graphics does not understand, it will destroy.
Yes! I wanted sometimes so set up a multi seat Desktop.
The idea was that one Monitor (on one graphics card) is used for multimedia (watching tv and listening mp3) and its X is using sepcial devices for input like a remote control. And another Monitor (on an other graphics card) can be used for working. So that I could work mith my normal Mouce and Keyborad in a clean X session while an other clean X session is just listening to the remote control (in other words: my girlfried could listen mp3 without bothering me at work on the same station). But I was never able to get this run, since a new X only starts with its own keyboard defined and I was not able to get the kernel rebuild for supporting 2 keboards.
Canonical needs to purchase or obsolete userful and integrate said function right into Screens and Graphics.
I'm running dual seat right now. It's not as transparent as I'd like, it involves proprietary software, it's not well integrated, not set up exactly how I need it to be, and so on and so forth.
The audio's good, cause I have PA running in system mode with two virtual mono sinks. Each user gets one speaker ^_^
...but the input device handling doesn't use product hex options, both seats are one one card, when i wanted to use two, etc.
OOTB multi-seat can add a /ton/ of value to Ubuntu in the enterprise and would be a clear demonstration of its superiority over competing platforms.
I've been trying to achieve this with my Ubuntu box for the past couple of weeks, in the end I just gave up. I have a couple of fairly powerful machines which would all make use of a multi-seat setup. Not only does it mean that some of the spare CPU power is put to some good use (I mean, who uses 4 cores of a CPU for basic web browsing, I haven't even managed to max out my quad core system with working on videos etc), it's also better for the environment (I dare say it's still going to use less energy adding another monitor, keyboard and mouse).
Practically every time I tried to setup a multi-seat configuration it just failed, either with it going into failsafe X mode or just not booting up X at all.
I registered to be able to vote for this idea. I keep it extremly important, and needed. Actually I expected some overwhelming feedback from the community...
snadrus, thanks for intentionally duplicating this idea and clarifying it. I've voted again; this really has a massive potential for Ubuntu (think schools, hospitals, internet cafes, even home users!)
Trying to achieve this now and its impossibly difficult, apparently Fedora has better support for it. I don't see why Ubuntu can't fix this issue, it'd be a major advantage over the big boys.
I quite Userful in June of 2007. It is unlikely that they are going to open source their multi-seat stuff. When I left, they had also not ported it to xrandr.
Multi Seat Display Manager is the newest development in this field and it looks very promising! They even provide a livecd based on Ubuntu to try it out:
Part of the issue is that the "haves" do not have a need for it, they just buy more computers. The "have nots" have zero or very little computer access so they cannot learn and let alone develop this capability.
So much toxic e-waste and general waste by the affluent "haves".
Eventually it will become necessary when the tables are turned - then it will become available in the blink of an eye.
I completely agree, this is huge. MDM is exactly what was needed. It works perfectly on the live CD out of the box. The sooner it gets into official distro the better since whichever distro gets it integrated first will be probably the distro of choice for all the places where multiseat is must.
I REALLY would like to see this feature added to Ubuntu. I echo all the requests for MDM. According to Phronix the next release of Fedora (Fedora 11) will have MDM by default.
This is a really good idea. Although I do not really have a use for it, I can see the potential that this offers, especially where money is limited etc.
I really like this idea. The possibility of a multiseat configuration is a strong argument when promoting Linux Desktops.
When buying a new PC I always have to make a trade-off between power consumption and computing power. I estimate that my CPU and most of my RAM are idle during 90% of uptime. But sometimes I really need my powerful machine.
A multiseat configuration would make task easier: Buy a powerful PC, but my parents can work on my machine on a seperate monitor (long cables -> other room). in this case it is very easy for me to make backups of their data (samba Setup is easy but I prefer to have everything on one machine).
I like to assemble ubuntu machines with the Intel Graphic chipset because of the opensource "driver". I expect that restriced drivers (Nvida) might cause problems in a multiseat configuration. Can anybody confirm or deny this?
Ubuntu is for human beigns and in general the purpose to give this marvelous software free is to help who don have ehough resources achieve the most recent and ecxiting technology. With this arguments why multiuser isn't a priority?, Edubuntu have a LTSP for schools but multiseat can multiply this by n be more cost-effective. On Windows exists many solutions but all are costly and need additional hardware (maybe with some exceptions) in Linux until 8.04 we can do that with the harware minimum but with some problems. This feature should be promoted more than MIX IMHO because have more impact in the today escenario, and is easier to achieve. I imagine that from install if the system detects the minimum harware (two keyb, mice and monitor or video cards) ask to the user if he or she want to enable the multiseat feature and if the user accepts then graphically shows the duplicate hardware (sound included) as seat 1, two, thre, etc and select each one and use the device (move mouse keystrokes the keyb) and select the monitor by off and on on it or selecting after the program numerate the monitor, for sound select when the music (not a tone) is playing in the desired output and of course this option isn't showed on the others seats. that's the ideal but something like userful and of course something like MagicMirror for windows that use Window's admin console for administration purpose after installation to reasign devices and see who is where and what devices were attached to which seat, etc.
Perfectly a must-have if we really want to save our planet's resources, assist governments (public schools and public libraries) to vastly cut down expenses on their computing requirements, and help small schools to provide "enough" computer access to as many students as possible.
How else can we convince the "general public" that Linux in general, and Ubuntu in particular, represents the philosophy and as the better example, of having a responsible and responsive community.
I'm not an expert on this field, but I think that user needs for that topic can vary extremely.
Invented Example Requirements (partially based on my needs, partially extreme examples in order to let you forget about technical details and concentrate on the matter)
2 or 3 Users wish to play a game split screen, that doesn't support split screen natively, but networking.
2 Users wish to work independently on the same screen.
2 users wish to work independently on their own screen.
2 users wish to work on the same document using their own mousepointer and keyboard foci, while a 3rd user works on its own and on its own screen.
2 users wish to have control over the same pointer and keyboard focus.
In order to allow all these situations and any other combination i'd let the user create (or select) a graph, describing the required situation.
Mathematically that graph would be
- directed
- no cycles
- every path, that goes from a source to a sink has the same length as every other path that goes from a source to a sink.
- every edge has length 1
- not necessarily connected!
The source nodes of the graph are input devices (each mice and each keyboard has its own node)
The sink nodes of the graph are output devices (each screen and if you wish each pair of speakers and each force feedback device has its own node)
The remaining nodes are entities that exist on the Operating System, such as: User, Session, Representation of Input Device (Pointer, Keyboard Focus). It also applies: each item has its own node.
Each path of the graph from a source to a sink would then consist of:
one input device -> one representation of the input device -> one session -> one user -> one output device
from the type of the item certain additional rules for the graph make sense:
- an input device cannot point to multiple representations of input devices (it makes no sense to steer 2 pointers with one mouse)
- a represenation of an input device cannot point to multiple sessions
- a session cannot point to multiple users (a session (such as a gnome session) never has multiple owners.)
Of course you could easily hide that graph from un-experienced users behind an additional user facade.
I think you can remove the entity "User" from my post. I think it doesn't belong to that problem domain and is already sufficiently represented by "Session".
I see that the source side of "the graph" can already easily be modified in ubuntu maverick.
What needs to be done is an abstraction not just for input device reattachment,
I will eventually develop a prototype doing just that with such a graph as far as the the actual services (xserver, wayland in the near future, session handling etc. allow me to)
I've now drawn an example of such a graph. Schematically this would also be the User-Interface of the "multiseat-administrator". The users are only displayed for better understanding.
User3 and User4 share a session. They have their own mousepointers and keyboard "pointers". They are playing minecraft in their own windows together (as a substitute for the lack of native split screen support) or editing a document together. They are working on a single monitor.
User1 and User2 also have their own mousepointers and keyboardpointers. User1 additionally uses the touchpad of the computer (which is a laptop for example) in order to control his pointer. They both work independently in their own session, but User1 spans his session over one and a half monitor while user2 uses the rest, which is currently all that user needs.
I'm dead keen to see this feature! I have my TV set up as a second monitor via HDMI + NVIDIA spdif audio passthrough. Trouble is, XBMC is all set up nicely on one account and only works when that account is logged in. I really want an XBMC session to stay running on the second monitor independently of whoever is logged in on the primary. This would be such a killer feature!
I share a laptop with my partner. Usually we can manage to use the computer at different times.
However, I would love to be able to click it into the docking station and then be able to use it simultaneously. A useful Multiseat feature as suggested here would be great!