Is there any way to enable extensions on GDM?

There’s extensions and stuff I can enable on GNOME desktop, but I haven’t found any way to do such on GDM(for example, so I could enable user themes).

Running gnome-extensions list on my normal user account lists all installed extensions, but doing the same on the gdm user(machinectl shell gdm@ /bin/bash) isn’t listing anything. I’ve also tried running chmod a+rx /usr/share/gnome-shell/extensions, but didn’t have any luck with it.

Is there any way to enable extensions on GDM? I haven’t seen any documentation on it(either from GNOME or other sources).

No. There have been some discussions about giving extensions the ability to mark themselves compatible with the lock- or login screen, but nothing was implemented so far and all extensions are disabled in both those modes.

So it’s not really leaned towards any way right now, or no?

Would you be able to point me to some of those just so I can look at what was said?

Sorry, I don’t remember off-hand. It’s somewhere on gitlab, but I couldn’t find it in a quick search.

The gist was that the feature would be useful for some extensions, but

  • the details need flashing out
  • someone needs to do the work
1 Like

Looking at this bug, would that somehow be able to be worked around to become a feature instead? Or am I looking at it incorrectly?

That bug is about disabling extensions at the end of a regular user session (i.e. log out or shutdown). I don’t know what you would want to work around there, it’s completely unrelated to allowing extensions on the login screen.

Doesn’t logging out just bring you to the login screen?

It’s saying(in the bug report) that the extension is continuing to function after logging out(to the login screen), right? Would that not be able to be worked around to be a feature instead?
It seems like the functionality is kind of there(albeit from a bug), but there nevertheless.

Or am I looking at something wrong?

Hey, I opened that bug report.

It may not be clear but extensions don’t continue to function, they stop with the shell when the user log out — just not in a graceful way.

1 Like

Nevermind on that then…

Going straight to GDM then - is it that much different than the normal user shell that it would take a fair bit of work to implement extension support?

Obviously it seems like it is from what’s been said, I’m just kind of curious to how it is(if you’ve worked on that area of GNOME).

Yes and no.

Just enabling extension support on the login screen is a trivial one-line change.

What is very different however is the session itself, without many components that extensions assume exist (overview, windows, desktop, …).

That means that most extensions will be broken, and if you’re unlucky you end up with an all-gray login screen and no way to log into a session that would allow you to fix the issue.

Because of that, simply turning on extension support on the login screen is not an option. Instead, we’ll want a way for extensions to explicitly specify login/lock screen support, and only allow those in those modes.

That’s definitely something I’d like to see - the method you proposed(explicitly allowing) sounds fine with me.

It doesn’t sound like most of this is a top priority from what was said at the beginning of the whole conversation, but would you be able to point me in the direction for what I’d need to change if I were to want to mess around with all of this locally? I’m fine if I need to recompile things and such.

Changes should mostly be confined to the ExtensionManager class in js/ui/extensionSystem.js, possibly in combination with changes to the mode definitions in js/ui/sessionMode.js.

1 Like

Sorry for the delayed response - I’m stuck on Windows for a bit, but I think I’ve got the info I need to do what I want.

Thanks, all the info’s appreciated :ok_hand:t2:

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.