How do I install, update and remove GNOME Shell Extensions? [duplicate]

In order to install an extension you are required to have the gnome-tweak-tool installed, this should be installed by default on most modern Ubuntu GNOME versions, however if it is not you can install it by running the following:

sudo apt-get install gnome-tweak-tool

With the gnome-tweak-tool come some pre-installed but not pre-enabled extensions, you can view these by opening the gnome-tweak-tool (you can either run this in Terminal (CTRL + ALT + T) or you can search for Tweak Tool in the Activities Overview) and going to the Extensions section.


Browser preparations (installing and updating)

Firefox

Version 52+

Since Firefox version 52 NPAPI plugin support has been removed so plugins like the GNOME Shell Integration plugin and Java etc won't work. So if you wish to install a new extension which isn't already installed then you will need a two-part solution:

  1. Native host messaging application:

    sudo apt-get install chrome-gnome-shell
    
  2. The GNOME Shell Integration Firefox plugin.

After you have installed both of these you will need to restart your browser for the changes to take effect. Then you will be able to browse and install GNOME extensions from here.

Below version 52

If you wish to install a new extension which is not already pre-installed go here in Firefox and make sure that the GNOME Shell Integration plugin is enabled. So either go here about:addons (enter this into the URL bar and press ENTER), go to the Plugins section, and make sure that the GNOME Shell Integration plugin is set to Always Activate, or do the same but instead set it to Ask to Activate and then when you visit the GNOME extensions website make sure you either click Allow Now every time, or press Allow and Remember (you will need to click the little lego brick to get this dialog - the brick shown in the screenshot below):

Allow GNOME Shell Integration Plugin Dialog

Enabling this plugin allows the website to detect your GNOME version as well as to install and manage your extensions. The plugin should be installed by default in Firefox 52 and below on Ubuntu GNOME.

Chrome and Chromium

(and some other Chromium-based browsers including Vivaldi)

Since NPAPI plugin support is not available in these browsers either you will need a two-part solution:

  1. Native host messaging application:

    sudo apt-get install chrome-gnome-shell
    
  2. The GNOME Shell Integration Chrome plugin.

After you have installed both of these you will need to restart your browser for the changes to take effect. Then you will be able to browse and install GNOME extensions from here.

Partial source: How To Install GNOME Extensions Using Google Chrome or Vivaldi

Epiphany (GNOME Web)

The native GNOME "Web" browser Epiphany still supports NPAPI plugins and has the necessary GNOME extensions plugin pre-installed and thus there is no need to do any setting up with it.

If it is not already installed then it can be installed with:

sudo apt-get install epiphany-browser

Installing a new extension

The most popular extensions will be displayed on the initial page you get to, you may however choose to sort page contents and search results using the Name, Recent, and Downloads filters. You can also choose to display results for All versions as opposed to just the Current version you are running (attempting to install extensions not compatible with your version of GNOME will result in a silent failure - the operation will not be successful but you will not be notified of this in any way - though extensions which are not compatible will be slightly greyed out in the results list so you will still be able to tell even with the All versions filter selected).
The different filters I mentioned above are accessibly through the relevant pull-down menus (I have put a red box around the settings in question):

GNOME Website Result Filters

You can also use the search box to find extensions, once you have found an extension you wish to install (if you are concerned about the safety of the extensions then you should read this information on the review process - go to the Are GNOME Shell extensions safe? section - extensions have to go through before they are accepted onto the website), click on its name in the search results, then once you are on its page click the ON/OFF slider next to its name (as done above in the gnome-tweak-tool), you will get a dialog prompting you if you wish to install the said extension, if you do, press Install, if you have changed your mind, press Cancel.

If you do not get such a dialog, you have just stumbled across one of your pre-installed extensions and activated it!

Once making changes to your installed/activated extensions from the website you will need to restart the gnome-tweak-tool in order for it to register the changes.

Managing extensions

In order to activate an extension click on the ON/OFF slider next to its name and description so that its status changes from OFF to ON, (and visa-versa to deactivate it).
You will see that the pre-installed extensions have a greyed out Remove button next to each of them, this is greyed out because they are pre-installed, if you install a new one however you will be able to use this button to permanently remove it.

You will also see that some of the extensions have a button next to their Remove button that looks like this:

Extension Options Button

Clicking this button will enable you to alter the configuration for the extension in question (it should launch a settings window).

The online view enables you to also do similar (though it also allows you to remove/uninstall pre-installed extensions, so tread carefully - though of course you will be able to re-install them again).

Updating extensions

The gnome-tweak-tool does not support the upgrading of extensions through its interface (though in future it is planned for the whole web interface to be scrapped and for it all to be done through gnome-software), if a new version of an extension comes out and you wish to upgrade to it you may do so by going here and clicking upgrade button next to the ON/OFF slider (if there is no upgrade button then the extension is already up-to-date):

GNOME Shell Extension Upgrade Button

You will then be prompted if you would like to Upgrade the said extension, pressing Upgrade will upgrade it, however pressing the Cancel button will disable or possibly even uninstall it so that you will need to reinstall or reactivate it again.

Tips and Tricks:

Right-clicking on the Activities Overview button (or Activities as it is normally called on the button) will bring up a window specifically dedicated to your GNOME Shell extensions:

GNOME Shell Extensions Dedicated Window


This process should work for all those using GNOME 3.4+.


Gnome-shell extensions can be installed from the Gnome-shell extensions web page. The site is: https://extensions.gnome.org/ enter image description here

To install an extension click on the extension and then you will go a page describing the extension.

enter image description here

In that page you can see a slider switch. Turn on the slider if you want to install the extension. Then you will see a prompt to install the extension.

enter image description here

The installed extensions can be managed from https://extensions.gnome.org/local/

enter image description here

Once you're on Installed extensions tab, you can upgrade any extension, disable and bring settings directly from the browser.

Updating:

You can find the update button next to the extension name when there is an update available.

update button picture

Click that button to update. You'll get a prompt similar to the one you get when you installed the extension asking the permission to install the extension. click on the Install button (Yes, it's not Update) to install the updated extension.

Using extension settings

Though you can use gnome-tweak-tool, you can alo bring up the extension settings window from the site if the extension provides one. Just click on the small wrench icon. A settings windows should appear as shown in the following screenshot.

bringing a settings window from extension site

Deleting an extension

You can also delete an extension from the site provided that it didn't come with gnome-shell by default (which makes them installed into the system area).

Clicking the red cross mark should uninstall the extension.

remove button for extensions


Ubuntu 20.04 and later

In Ubuntu 20.04 and later several popular GNOME Shell extensions are installed by default. These preinstalled extensions can be enabled from the Tweaks application by installing the gnome-shell-extensions package.

sudo apt update
sudo apt install gnome-shell-extensions

Re-login from your Ubuntu desktop. Then open the Tweaks application and select Extensions from the list of categories on the left side. You can try a preinstalled GNOME Shell extension by toggling the extension's slider button from ON to OFF and toggle it back to disable it as shown in the below screenshot.

enter image description here

Many GNOME Shell Extensions that are not installed by default can be installed by apt from the default Ubuntu repositories. To print a list of the available GNOME Shell Extensions and their installed status run the following command:

apt policy gnome-shell-extension-*

Ubuntu 18.04

In Ubuntu 18.04 GNOME Shell Extensions can be installed from the Ubuntu Software app. Do a keyword search for "GNOME shell extensions" and the type of app you are searching for.

You can also search from all of the available GNOME Shell Extensions on the same screen by pressing Add-ons button which is located under the Categories heading. In the Add-ons screen select the Shell Extensions tab and you will see all the available GNOME Shell Extensions.

enter image description here

  • Clicking on a GNOME Shell Extension in the list of search results will bring up its screen which will often show screenshot(s).

  • Clicking on the       Website        button will open its website in a web browser where you can view a larger sized image of the same screenshot that was shown in Ubuntu Software.

  • Clicking on the         Install          button will install the extension.

The gnome-shell-extension-tool package in the default Ubuntu repositories is a tool for managing your installed GNOME Shell extensions.

gnome-shell-extension-tool is provided by the gnome-shell package. For 19.10 and later use gnome-extensions instead of gnome-shell-extension-tool:

Results of gnome-shell-extension-tool --help :

Usage: gnome-shell-extension-tool [options] [extension-name]

Options:
  -h, --help            show this help message and exit
  -d DISABLE, --disable-extension=DISABLE
                        Disable a GNOME Shell extension
  -e ENABLE, --enable-extension=ENABLE
                        Enable a GNOME Shell extension
  -c, --create-extension
                        Create a new GNOME Shell extension
  -r RELOAD, --reload-extension=RELOAD
                        Reload a GNOME Shell extension

The GNOME website has an Extensions section set up, which is currently in its Beta phase. It promises easy installation of extensions, and management of installed ones, through a web interface.

The site can be accessed here: https://extensions.gnome.org/