The gnomeshell-extension-manage script by Nicolas Bernaerts allows to install and remove GNOME Shell extensions both system-wide and in user space.
Here's how you would install it:
wget https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/gnomeshell-extension-manage
chmod 755 gnomeshell-extension-manage
sudo mv -iv gnomeshell-extension-manage /usr/local/bin/gnome-shell-extension-manage
This makes it available for every user: (alongside similar GNOME commands)
$ gnome-shell-extension-manage
Install/remove extension from Gnome Shell Extensions site https://extensions.gnome.org/
Extension ID should be retrieved from https://extensions.gnome.org/extension/<ID>/extension-name/
Version installed will be targeted as the same as Gnome Shell or the next available one
Parameters are :
--install Install extension (default)
--remove Remove extension
--user Installation/remove in user mode (default)
--system Installation/remove in system mode
--version <version> Force Gnome version (use 'latest' to force latest one)
--extension-id <id> Extension ID in Gnome Shell Extension site (compulsory)
The Gnome Shell - Management of Extensions from console blog post explains in detail how it is used. For updating an extension you need to add --version latest
to the command.
The two main differences, technically speaking, to Ian Brunelli's gnome-shell-extension-installer are that you can do system-wide installations and that it's using wget
instead of curl
to download the extensions.
cron
job to extract shell extensions from the/etc/shells
file, and runapt-get
updates for each value - just one idea.