GDM doesn't detect new .desktop files

I am having issues attempting to use a different window manager with Silverblue. Someone else had the same problem earlier [1]; they had success by placing any required files under /usr/local/share/. However, GDM refuses to display any of the .desktop files I’ve created at /usr/local/share/xsessions/. Is there something I’m doing wrong?

[1] Is there a way to add a WM to the GDM options?

Hello @th3t4x,
Welcome to the Fedora discussion forum. /usr is not writable on SB so I don’t think you are writing to that directory unless you have made your system directories writable with rpm-ostree usroverlay to make it transient. If you are wanting to use Xorg, then just use the option for your login to select Gnome on Xorg. If you are wanting KDE you could then look at the Kionite spin Kinoite, a KDE (and now XFCE) version of Fedora Silverblue.

1 Like

I am able to write to the /usr/local directory, but not anywhere else outside of it - existing forum posts have confirmed that this is indeed possible. GDM is supposed to detect files from the XDG_DATA_DIRS environment variable, but it’s not doing so.

I did see Kinoite, but that’s only for common desktop environments… I’m interested in using a window manager that is neither of the options included in that thread. I’ve looked around for implementation details of how Kinoite was made and haven’t found anything - only instructions on how to use it exist. Such implementation details would be more useful than a premade package so you can use any desktop environment you desire.

And yes, this .desktop file exists in /var/usrlocal/share/…

Hello @th3t4x,
As @vgaetera pointed out above, the /usr/local dir is a sylink to /var/usrlocal on SB. See https://docs.fedoraproject.org/en-US/fedora-silverblue/technical-information/ in particular the filesystem layout section.

I don’t understand what you’re trying to convey. I do understand that /usr/local is a symlink to /var/usrlocal/. Previous threads on these forums have stated to place any additional files under that symlink.

As I’ve found out, the typical procedure to use something outside of Gnome is to maintain your own ostree (you are responsible for writing tools to automate security updates, etc…) . https://piware.de/post/2019-07-14-ostree-i3/ Honestly, as a dev, dealing with all this is a massive loss of productivity over regular Fedora. I switched to Silverblue in hopes of preventing brittle OS changes, but using Fedora with an Ansible playbook and BTRFS backups seems like a better use of time.

Check SELinux context and permissions:

ls -a -l -Z /usr/local/share/xsessions

Repair the context if required:

sudo restorecon -R /var/usrlocal

Other directories to try:

/etc/X11/sessions
/etc/gdm/wayland-sessions
/usr/local/share/wayland-sessions

See also: