GNOME Bugzilla – Bug 749899
GDM needs a restart to find newly installed environments
Last modified: 2021-07-05 14:28:04 UTC
Due to the new method of 'always having a gdm session loaded', GDM does not grant a user the ability to easily switch to a newly installed environment. Example: Archlinux current (as of 2015-05-26): -install an environment via # pacman -S xfce4 -Log out of session -Since GDM has been running this entire time it doesn't probe for environments as the computer merely switches TTY instead of loading a session. This means that a user must either restart GDM or the entire computer to get a new session to show up.
So right now gnome-shell gets the list of sessions from a dumb libgdm api (gdm_get_session_ids ()). That api has no notion of session tracking. The shell only fix would be to recall that api any time one of the session dirs change. The session dirs are: /etc/X11/sessions/ /etc/dm/Sessions/ /usr/share/xsessions/ /usr/share/gdm/BuiltInSessions/ /usr/share/wayland-sessions Probably a better approach would be to flesh out the libgdm api a little more, though, so there's less hard coding of paths etc
Note also the FIXME in gdm-sessions.c: /* FIXME: add file monitor to directory */
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/ Thank you for your understanding and your help.