GNU bug report logs -
#73859
lightdm-service-type is almost unusable
Previous Next
Reported by: Dariqq <dariqq <at> posteo.net>
Date: Fri, 18 Oct 2024 09:25:01 UTC
Severity: normal
Tags: patch
Merged with 68055
Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #11 received at 73859 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Maxim
On 23.10.24 16:48, Maxim Cournoyer wrote:
> Hi Dariqq,
>
> Dariqq <dariqq <at> posteo.net> writes:
>
>> Hi Guix,
>>
>> This is to report some of the issues and workarounds when trying to
>> setup lightdm-service-type.
>
> Thank you for taking the time to report these detailed findings!
>
>>
>> 1. Unable to choose a session (https://issues.guix.gnu.org/68055)
>>
>> This appearently never worked: https://issues.guix.gnu.org/57168#0
>
> Indeed. This definitely makes the session manager much less useful.
> I'd really like to find a solution to that; I think the issue is
> reported upstream here:
> https://github.com/Xubuntu/lightdm-gtk-greeter/issues/105.
>
> Just a hunch: perhaps something in the environment the greeter
> runs is missing to have d-bus communication properly working?
>
Found all these while trying to switch from xfce to mate on a 32 bit
machine (plus skipping some tests in mates dependency tree to get it to
build) and spent way to much time trying to understand how to change the
default session.
Remotivated by your response I looked into how the greeter actually
finds the session:
1. The menu just calls out to lightdm_get_sessions
https://github.com/Xubuntu/lightdm-gtk-greeter/blob/master/src/lightdm-gtk-greeter.c#L3186
2. This eventually reaches update_sessions
https://github.com/canonical/lightdm/blob/main/liblightdm-gobject/session.c#L181
Could it just be that it is using the "wrong" values for the session dir
and not the ones we specified in the lightdm config?
From what config files (if any) are we reading here?
If this is indeed the issue can we set sysconfdir to /etc and let it
read the lightdm config file from /etc/lightdm/lightdm.conf (via
config_load_from_standard_locations)?
I tried something like this (diff attached) and seems to work. I was
able to choose between xfce and mate and log into either of them.
(only slightly awkward thing is that wed need to overwrite sysconfdir
for 'make install' and should probably rename the
lightdm-configuration->greeters-config-dir function).
>> This means one currently has to specify the default session with
>> something like
>>
>> (service lightdm-service-type
>> (lightdm-configuration
>> (seats
>> (list
>> (lightdm-seat-configuration
>> (name "*")
>> (user-session "xfce"))))))
>>
>
> [...]
>
>> This might be fixed by making the lightdm-activiation snippet actually
>> useful: It currently searches for a file named "directory" to fix
>> permissions rather than the content of the variable 'directory'.
>>
>> (find-files "directory" #:directories? #t) vs
>> (find-files directory #:directories? #t)
>>
>> here
>> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/lightdm.scm#n527
>
> Fixed.
>
>> 4. tigervnnc
>>
>> default tigervnc is (file-append tigervnc-server "bin/Xvnc") rather
>> than (file-append tigervnc-server "/bin/Xvnc")
>
> Also fixed (see commit e4e1e16bc1).
>
Thanks :)
[lightdm.diff (text/x-patch, attachment)]
This bug report was last modified 249 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.