Subject: Re: bug#59489: gdm: Accessibility icon missing in log in screen

From: Dariqq <[email-masked]>
Date: Mon, 22 Jan 2024 18:51:50 +0000

Hi Maxim,

On 22.01.24 06:30, Maxim Cournoyer wrote:
> 
> Ah, that's interesting.  It means there's probably some environment
> variable that gets set and usefor the other things too, or perhaps it
> searches relatively to its binary.
> 
> Ideally we could patch what it needs in the gdm package definition.  A
> second option would be to wrap GDM with the paths such as XDG_DATA_DIRS
> it wants.

> I'd like to avoid abusing the gnome-shell-assets, so would welcome us
> further investigating the sources of GDM to get clues as to what/where
> it's looking and what it wants exactly, but otherwise with your
> explanation I think this can be a first step (apply this change as 
> is).
> Does anyone have a problem with it?

Currently gdm starts with XDG_DATA_DIRS set to the share directories of 
gnome-shell and all packages in gnome-shell-assets.

Looking at other login-managers it seems they also set XDG_DATA_DRIS 
explicitly. Specifically the sddm-shepherd-service seems to solve this 
by setting XDG_DATA_DIRS to the correct path of the current system 
profile i.e. "/run/current-system/profile/share".

Maybe we could do the same with gdm? We then would need to add the extra 
packages to the system profile rather than some wrapper.

This will then work work for a gdm+gnome setup (with empty 
gnome-shell-assets) as the gnome package propagates all the packages 
needed and more.

For gdm-only there is then a problem how to include the extra packages. 
Currently the gdm-profile-service extension only adds the 
gnome-shell-assets but now also gnome-shell would be needed as this 
currently not in the system profile but added in XDG_DATA_DIRS.

Then there is the question whether the extra packages should be added to 
the profile by the service or propagated from gdm (or some other 
package). If the answer is gdm then gdm would also need to be added to 
the profile and as gdm depends on gnome-shell and want's gnome-shell 
present a service would need to add gnome-shell anyway.

This is essentially the same as the current solution via 
gnome-shell-ssets but this will work if the extra packages are in the 
system profile through any mean (and not explicitly added via the 
gnome-shell-assets) however for non-gnome-setups using gdm a solution is 
needed in any way.