Multiuser device support
Darren Kenny
Darren.Kenny at Sun.COM
Wed Aug 3 06:06:35 PDT 2005
Totally agree.
As Artem mentioned there needs to be some concept of a policy handler
that enables devices to be allocated as, for example, system devices or
session based devices, and so to elaborate a bit more...
A session could be defined as any of the following:
* a console session (USB port on machine, internal CD-ROM, etc -
similar to that of logindevperm)
* a device that exists only for a given "remote" (yet processes are
generally all running local) session - eg:
o Sun Ray (where a device sitting on your desk has USB ports,
but are visible as physical devices on the server system)
o RDP client (if it's fully featured and in a similar fashion
to Sun Ray allows a remote device to be seen to the local
system).
So devices that are associated with sessions, eg. Mouse, USB Mass
Storage, Digital Camera, etc. then such devices will need to allocated
to a session, and only that session.
A system device then would be one that isn't specifically allocated to
any give session, such as the hard-disks, the CPU, etc.
I would think that most devices would default to being system devices
and as such don't need specific configuration to say that - and only
non-system devices would then need to be specified somewhere (in pretty
much the same way as logindevperm does, but better! ).
I am not sure how you could allocate devices to an XDMCP session, eg.
where a user is connected to a server via XDMCP, but they got someone to
insert a CD-ROM in for them - who should see such an event? I would
guess that if there is someone logged into the machines console, they
should, but if not, then maybe all sessions would be notified (in this
case the devices isn't specifically allocated to a session since there
isn't one on the console.... ) Do you see what I mean?
This all lies in the domain of a policy setting mechanism - who sees
what and when. So this is definately an area that should be highly
configurable and possibly even totally replaceable (eg. plugin style) so
that it can be as simple or as complex as a sys-admin desires. If it is
also possible to have HAL use session-based D-BUS for session specific
notifications then it would also provide a certain level of privacy in
that area too, and while it's at it, enable applications to only see
session based events unless they really want to see system based events,
which they can do by connecting to the System D-BUS as well...
Just some of my thoughts on it...
Thanks,
Darren.
Jon Smirl wrote:
>On 8/2/05, Artem Kachitchkine <Artem.Kachitchkin at sun.com> wrote:
>
>
>>OTOH, the separating of user sessions should probably be HAL's
>>responsibility. For instance, hotplug events from one user session
>>should not be visible to another. Our work is still very preliminary,
>>but we're leaning towards having per-session D-BUS instances, with HAL
>>presenting each session with a subset of Global Device List according to
>>the session-device assignment.
>>
>>
>
>Something needs to sort this out. The hotplug events coming from an
>operator taking SCSI drives offline are of a completely different
>class than a user plugging in a mouse. You really shouldn't be able to
>see events for devices that you don't have permission to use.
>
>We need to start thinking multiuser now so that we don't end up with
>something that is completely single user centric.
>
>
>
_______________________________________________
hal mailing list
hal at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/hal
More information about the Hal
mailing list