[systemd-devel] What exactly is multi-seat? -- questions about logind

Simon McVittie smcv at collabora.com
Tue Jan 26 11:59:00 UTC 2021


On Tue, 26 Jan 2021 at 01:43:43 -0800, Kian Kasad wrote:
> First of all, what exactly is multi-seat? Does it just mean allowing
> multiple sessions to be running at once, like for multiple users to be
> logged into the same desktop, even though only one will be in use at a
> time?

No, that's "fast user switching" (usually implemented in terms of
virtual consoles).

Multi-seat is when you have one PC with two screens and two keyboards,
Alice sits in front of screen A and types into keyboard A, Bob
simultaneously sits in front of screen B and types into keyboard B.
Both people interact with their own desktop environment, neither person
interacts with the other desktop environment, and there is a security
boundary protecting each user from the other.

Usually they each get their own set of USB ports, and Alice can plug
in USB devices (in particular storage devices) without giving Bob access
to them.

> Second, why is logind needed for this? Is it not possible to do without
> logind?

You need either logind or something roughly equivalent to logind, to
manage which screen, keyboard, mouse etc. belong to Alice and which set
belong to Bob, and keep them separate. It doesn't *necessarily* have
to be logind, but there needs to be a component with a vaguely similar
role. The obsolete ConsoleKit (which was superseded by systemd-logind)
was an older implementation of multi-seat.

elogind probably implements multi-seat too, but this is the systemd
mailing list, not the elogind mailing list.

> Most of these questions arose because my main OS, Artix Linux, requires
> logind (in the form of elogind) for Xorg, but I know that Xorg runs just
> fine on Alpine Linux, which does not use logind at all.

There are a lot of subtleties beyond "runs just fine". If Artix Linux has
chosen to offer features that require a logind implementation, then they'll
need a logind implementation. If Alpine Linux has chosen to treat those
features as outside their scope, then they won't need logind.

(Also, this is the systemd mailing list, not the elogind or Artix mailing
list; if you are unsure about elogind's capabilities or why Artix requires
it, I would suggest asking elogind or Artix people.)

    smcv


More information about the systemd-devel mailing list