Desktop/Whiteboards/Multiseat

From FedoraProject

Jump to: navigation, search

Contents

Feature page

See Features/Multiseat for the Fedora feature page, and especially Talk:Features/Multiseat for the current status of multiseat in Fedora.

Use cases

Architecture

ConsoleKit maintains a list of seats (in addition to the list of sessions). Each seat has a number of devices assigned to it (video card, keyboard, mouse, drive, usb ports, etc).

Devices can belong to

Devices are tagged with seat information in udev. The association between devices and seats is maintained by ConsoleKit based on a set of 'device rules'. Device rules must be flexible enough to formulate things like 'all usb devices on port 3 of hub #123 belong to seats 38 and 42'.

ConsoleKit gains API to configure devices by adding/removing/modifying device rules (ConsoleKit.configure()) and to list devices that belong to a seat (ConsoleKit.Seat.getDevices()). There will probably also be device-added and device-removed signals. There will be commandline tools corresponding to these, too.

A good GUI seat configuration tool will be difficult to do. There are different possible approaches:

It is not entirely clear how X servers will be started on the seats and how they will learn about their devices. Could be done by gdm or by ConsoleKit. Evdev could learn to ask ConsoleKit for devices instead of hal.

Tasks