According to this answer, GNOME shell extensions can be found in two directories. Namely,
~/.local/share/gnome-shell/extensions/
/usr/share/gnome-shell/extensions/
If I have the same extension (but of different versions) installed into each of these directories, how do I know which extension will actually be used when I log in as a standard user? Or will such a situation cause a conflict to GNOME shell? The assumption here is that this extension is enabled.
E.g.
~/.local/share/gnome-shell/extensions/[email protected]
/usr/share/gnome-shell/extensions/[email protected]
Also, as root/sudo this command was executed.
$ gsettings set org.gnome.shell enabled-extensions "['[email protected]']"
Now, when I am logged-in as user, which extensions will I be using?
Like many other things (for example
.desktop
launchers for applications), the local directory has the higher priority.(Now defunct) 'Ubuntu GNOME' flavour of Ubuntu used to come with a few extensions (e.g. AlternateTab, Applications Menu, Window List etc.) installed system-wide (hence in the
/usr/share/gnome-shell/extensions/
directory) by default. If there was an update for such an extension and if the user updated it using the GNOME Shell Extensions website, it used to create a local copy (in the~/.local/share/gnome-shell/extensions/
directory) of the extension with the updated version overriding the older system-wide one.