[systemd-devel] Rethinking getty and fast user switching

Jan Engelhardt jengelh at medozas.de
Tue Feb 21 03:27:40 PST 2012

On Tuesday 2012-02-21 11:34, Colin Guthrie wrote:
>I suspect the "lets disable vt switching with ctrl+alt+fn" discussion
>would be a lot harder to have but by all mean please feel free to start
>it if you feel that way.

libabc was made for kernel developers, now here is something
userspace fellas can learn from the kernel. Kernel people know how to
do policy: to not do it. systemd should take a slice of that.

Removing XF86Switch_VT_1 from the keymap is something for certain
distributions (usually the ones with a high percentage of such
leveled users) to do. That way, @distros_i_am_not_interested_in can
do whatever the faen they want without causing annoyance to me.

>> The OSes that nurtured these unsuspecting users in the first place
>> get the user switching right without having to tell them about CON:
>> or con0.
>Why have they been cultured by any other OS? I'm not making any
>comparisons here, just trying to suggest that things work in a logical
>manner rather than carrying historic cruft that really has no place now.

The status quo is quite logical to me, but alas I reckon expecting
everyone to see logic on a Vulcan-like level is asking too much.

Take f.i.: vt1 X, vt2 X, vt3 X, vt4 text, vt5 X, vt6 text, vt7 X, vt8
text, vt9 text, vt10 text, vt11 X. Logical? Absolutely (w.r.t. some
pattern). To you? Probably absolutely not. (Solution: VT numbers
which are prime get an X server, non-primes get text.)

>IMO, this approach would actually simplify things a bit anyway. I mean
>if the DE's could rely on the "switch to empty VT will bring up a login
>prompt" situation, they could simplify their own logic that started a
>specific DE. [...]
>When I log into GNOME from KDM, I cannot select the "Switch User"
>functionality because it cannot talk to gdm. [...]Of course maybe
>it's better to define an freedesktop DisplayManager protocol and
>make everyone use it.

It's really easy to switch to an empty VT and start an X server on
it: execute /usr/bin/X. It will pick the next free VT by default.
If the X server can figure out the next free VT, so can DMs and DEs.
If they don't, then that's just an implementation shortcoming,
not a technical impossibility.

More information about the systemd-devel mailing list