Skip to content

Instantly share code, notes, and snippets.

@nicfit
Last active April 11, 2025 12:18
Show Gist options
  • Save nicfit/3ccb1b82f5f083084d89ffa56a2649a9 to your computer and use it in GitHub Desktop.
Save nicfit/3ccb1b82f5f083084d89ffa56a2649a9 to your computer and use it in GitHub Desktop.
Disable all gnome-shell extensions from command line.
for ext in $(/usr/bin/ls ~/.local/share/gnome-shell/extensions); do
gnome-shell-extension-tool -d $ext;
done
@abradshaw
Copy link

You will soon need to update to this

for ext in $(ls /usr/share/gnome-shell/extensions); do 
  gnome-extensions disable  $ext; 
done

@nicfit
Copy link
Author

nicfit commented Jan 31, 2024

@abradshaw thanks for the tip. The location ~/.local/share/gnome-shell/extensions is also changing?

@abradshaw
Copy link

Im not sure if its because on My Fedora box - the extensions I install as a user are in ~/.local/share/gnome-shell/extensions but when I made that comment I was using Tails OS and in tails, they had the extensions installed in `/usr/share/gnome-shell/extensions'¸ - maybe because they came from a system wide package installation

So I think the .local location is not changing actually

@HifeFish
Copy link

HifeFish commented Mar 31, 2025

gnome-extensions list gives a list of all extensions installed (by the user or the system). If you wish to differentiate the two, use ~/.local/share/gnome-shell/extensions for user-installed and /usr/share/gnome-shell/extensions for system extensions.

I've had gnome-extensions list give me an error message when run from TTY when gnome had frozen, so using the folder paths may be more robust.

Using dconf, you can also use gsettings set org.gnome.shell disable-user-extensions true to disable all user-installed extensions while retaining the information which were enabled when you undo the setting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment