I’ve learned that depending on the command you run will dictate which list of extensions populate even though both commands “sound” (to a novice like myself) like they should get identical data. But they don’t.
gsettings get org.gnome.shell enabled-extensions
That returns one set of data, and the following command returns yet another:
gnome-extensions list --enabled
Where is the gsettings command getting its data, and where is the gnome-extensions command getting its data?
gsettings command shows one part of the set of extensions that should be enabled.
The complete list of extensions that should be enabled depends on three parts:
- system extensions enabled via the session mode (ubuntu, classic, …)
That is, it’s the list of extensions that appear in one of 1+2 and not 3.
gnome-extensions command queries gnome-shell for all extensions it knows about, and filters them by their
ENABLED state. That is, it lists the extensions that are actually enabled.
Usually the two lists should match, however there are various possibilities why this may not be the case:
- if an extension has an error while being enabled, it enters in
ERROR state instead of
- if an extension only works on the lock screen, that it is set to enabled according to settings, but will only be actually enabled while the screen is locked
- if an extension isn’t uninstalled through gnome-shell, but through the system package manager or by just deleting its folder, then the
enabled-extensions setting can contain dead entries (i.e. extensions that were enabled, but no longer exist)
Hopefully this will be a bit less confusing in GNOME 46, where the
ENABLED state has been to
ACTIVE , so
gnome-extensions list --enabled will list the extensions that should be enabled, and
gnome-extensions list --active lists the ones that are actually active.
Is there a way to manually clear out any inaccurate data such as parts of an extension that was not removed properly, etc?
I mean, you can reset the setting to the list of enabled extensions with something along the lines of
saved_extensions=$(gnome-extensions list --enabled | xargs | sed 's:^:":; s:$:":; s: :",":g')
gsettings reset org.gnome.shell disabled-extensions
gsettings set org.gnome.shell enabled-extensions \[$saved_extensions\]
Or just reset both settings, and manually the extensions you want …
This topic was automatically closed 45 days after the last reply. New replies are no longer allowed.