[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#35305] [WIP] LightDM service
From: |
Maxim Cournoyer |
Subject: |
[bug#35305] [WIP] LightDM service |
Date: |
Thu, 04 Aug 2022 01:09:38 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux) |
Hi,
L p R n d n <guix@lprndn.info> writes:
> Hello,
>
> I spent some time thinking about the lightdm service and what are our
> possibilities so here are my thoughts and conclusions.
>
> (Here, I'll only describe relations between seats, greeters and the lightdm
> service as it's our main source of problems)
>
> So if we get rid of the greeter's services, we can have:
>
> 1:
> (service lightd-service-type
> (lightdm-configuration
> (greeters
> (list
> (lightdm-gtk-greeter-configuration
> (seats
> (list
> (lightdm-seat-configuration ...))))))))
>
> Here seats are defined by greeters. This way the user doesn't need to
> fill `greeter-session field as we can do it automatically. But there's a lot
> of nesting
> (and two lists.) + How do we define autologin?
>
> 2:
> (service lightd-service-type
> (lightdm-configuration
> (seats
> (list
> (lightdm-seat-configuration
> (greeter-session
> (lightdm-gtk-greeter-configuration ...)))))))
>
> Defining greeters inside seats allows in the `greeter-session field make
> it a little simpler. However, we would get errors or conflicts if a user
> define two different configurations of the same greeter for two
> different seats. The thing is that we can only have one configuration
> per greeter as it will always look for a hardcoded file in /etc/ (worst
> case) or a file we hardcoded at build time (best case). :/
>
> 3:
> (service lightd-service-type
> (lightdm-configuration
> (seats
> (list
> (lightdm-seat-configuration
> (greeter-session 'lightdm-gtk-greeter))))
> (greeters
> (list
> (lightdm-gtk-greeter-configuration
> )))))
>
> We can have separate fields for greeters and seats. The user will have
> to define `greeter-session by himself. And what happen if they define
> multiple occurences of one greeter's configuration?
After reading more about lightdm (and there's not much to read about
it... [0]), I can better understand your points above, and I find #3
perhaps the most natural. The negative points (leaving place for user
errors) can be mitigated by a validating the configuration (e.g. that
all the configuration types listed in greeters are different).
I'll try to adjust your code to use the above layout when I get a
chance.
Thanks,
Maxim
[0] https://wiki.ubuntu.com/LightDM