Update Gnome extensions without extensions.gnome.org

Let's say you like the command line, or you can't (or don't want to) install the Gnome Shell Extension Browser Extension and Native Host Messenging Application (perhaps you're not using a compatible browser, perhaps you're running headless, etc.)... how do you update your Gnome extensions?

sudo apt install pipx

sudo apt install python3.8-venv

sudo pipx install gnome-extensions-cli --system-site-packages --force

sudo pipx ensurepath

pipx ensurepath

The first time you use it will likely be in the same terminal window in which you installed it, so the paths haven't updated yet... you'd run:
/home/$USER/.local/bin/gnome-extensions-cli update

Once you close Terminal and re-open it, you can just run:
gnome-extensions-cli update

You can then put that into a script that updates everything (although you may have to use the full path version above).

On top of that, you can list the installed extensions:
/home/$USER/.local/bin/gnome-extensions-cli list

Installed extensions:
[ ] apps-menu@gnome-shell-extensions.gcampax.github.com
[ ] auto-move-windows@gnome-shell-extensions.gcampax.github.com
[X] cpupower@mko-sl.de (v27)
[ ] drive-menu@gnome-shell-extensions.gcampax.github.com
[ ] horizontal-workspaces@gnome-shell-extensions.gcampax.github.com
[ ] launch-new-instance@gnome-shell-extensions.gcampax.github.com
[ ] native-window-placement@gnome-shell-extensions.gcampax.github.com
[ ] places-menu@gnome-shell-extensions.gcampax.github.com
[ ] remove-dropdown-arrows@mpdeimos.com
[ ] screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com
[X] user-theme@gnome-shell-extensions.gcampax.github.com
[ ] window-list@gnome-shell-extensions.gcampax.github.com
[ ] windowsNavigator@gnome-shell-extensions.gcampax.github.com
[ ] workspace-indicator@gnome-shell-extensions.gcampax.github.com
[X] zorin-appindicator@zorinos.com
[X] zorin-desktop-icons@zorinos.com
[X] zorin-menu@zorinos.com
[X] zorin-printers@zorinos.com
[X] zorin-taskbar@zorinos.com (v40)

And you can disable and enable them:
/home/$USER/.local/bin/gnome-extensions-cli disable zorin-menu@zorinos.com

/home/$USER/.local/bin/gnome-extensions-cli enable zorin-menu@zorinos.com

1 Like