At Tue, 25 Feb 2014 22:19:43 +0100 (CET), Jan Engelhardt wrote:
On Tuesday 2014-02-25 21:09, Takashi Iwai wrote:
For example, we may enhance logind to allow login for only limited letters. It'd speed up the boot time in 2ns.
That does not have any relation to suspend, nor using laptops as servers.
Sigh, there is nothing more foolish than explaining a joke in details...
The point is that, in both cases, you'll get the same result: cannot login on system any longer. With the lid-closed-at-boot case, the system doesn't boot properly because it suspends immediately. With a change I gave as an example will prevent the login for certain users, too.
When you read further my text: "Unfortunately, a user id like jengelh can't login properly any longer, but such an id isn't very common, so no big problem."
The next point is that you tried to justify this problem just because it's a minority (not _very_ common). If this logic can be accepted, you should accept a change like what I suggested (e.g. limit the login without "j" start letter, which must be not _very_ common).
And, yet, further reading: "OK, OK, we should provide an easy workaround in addition. You can disable this limit easily by putting $HOME/.let_me_in file. It's trivial, isn't it? :)"
This indicates that the opt-out doesn't work always. Even if you have a way to disable it, how would you perform it when you cannot login? Even with a boot option, it's not always possible. Some EFI loader may not allow you to edit the boot option.
And this may happen by just updating a package. At the next boot, you'll be unable to login at all out of sudden.
So, to repeat myself: - A fundamental service like logind must cover all use cases, no matter how major / minor it is.
- The default policy enforcement must be chosen very carefully. Is the assumption really correct? ("booting with the closed lid must be accidental", "login id mustn't start with j".)
- The opt-out doesn't work always, thus it cannot be always an excuse of problems.
Surely you want sysvinit too?
Oh, don't start that useless thread again... And, it's not about init. It's about logind.