Autor: Isaac Dunham Fecha: A: Vlad Cc: dng Asunto: Re: [DNG] Multi-seat on Devuan,
do we actually need that useless curiosity?
On Thu, Jul 23, 2015 at 03:49:32AM +0300, Vlad wrote: > I think that the pretty useless feature which helped systemd into Debian in the first place was discussed some time ago.
> As you might know multi seat is supposed to make possible for multiple users to utilize a single desktop or laptop system in full blown GUI mode via special USB hubs, the main selling point of this curiosity was as a way to run schools in 3rd world countries.
> However these extension hubs actually cost more than a Raspberry Pi, and the Pi has the extra selling point that the student can take it home and use it there.
> I do not see any real need for silly things like multi seat and with every nanometer less and every new cell phone the price and power consumption per Ghz falls.
> In my opinion 99+% of users really won't care about this curiosity, which is a cool concept with less and less actual relevance or practical purpose behind it with every passing day.
Somehow it seems to me like someone trying to reinvent the dumb terminal,
but with less distance possible.
I could imagine one situation where it makes sense:
$site is running commercial software for x86{,_64}, licensed on a per-
processor basis with multiple users permitted; said commercial software
requires a decent processor but not much GPU.
Other than that, I can't picture a use.
All that said, I *can* picture a way to implement it using X(fbdev?) and
perhaps mdev (which I thought about not long ago...):
- *disable* input device hotplug in X11
- keyboards get renamed /dev/input/kbd$N, like how mice are named
- for new keyboards, mice, and framebuffer/drm nodes, run a helper
script that will spawn an X11 login if the appropriate devices exist
for the current $N.
You could even use hard links, bind mounts, and unshare to make
restricted containers for different users.
(I'm thinking of putting hard links to the device in /dev/seat$N/, but
with normal naming conventions under that. Then each seat gets a new
mount namespace and a private bind-mount over /dev.)
In theory, that should be a pretty small amount of work.
But I don't have any hardware suitable for testing, and don't feel that
it really justifies getting said hardware.