What are Extensions ?
It is a replacement for the "applets" or "widgets" system of GNOME 2. Extensions can add their own items to the top panel, but they can also do much more: adding a custom search provider, for instance. If you lack ideas, see this post.
How to Install GNOME Extensions ?
There is a large collection of extensions on the GNOME Shell Extensions repository website. But you won’t be able to install them if you are using Firefox 52 or later. You will need a Chromium based browser. If you have such a browser :
- You first have to install the Chrome Extension API. (link)
- Than install the host connector :
sudo add-apt-repository ppa:ne0sight/chrome-gnome-shell sudo apt-get update && sudo apt-get install chrome-gnome-shell
Once you are done, you should be able to flip the switch on a compatible extension's page to install it. If you have any trouble, use the link at the bottom of the page to file a bug report.
Starting with GNOME 3.22, you can install extensions directly from the Software Center on Fedora 25.
Enabling and Disabling
- The easiest way is to open the gnome-tweak-tool and enable/disabel your extension in the extensions tab.
You can enable and disable installed extensions on the GNOME extension website too.
- You can as well modify the GSettings key directly :
gsettings set org.gnome.shell enabled-extensions name-of-the-extension
If your extension does not appear in any of these tools, try to restart your shell by pressing ALT+F2 and typing "r" or "restart" in the dialogue.
Viewing Installed Extensions
Your extensions will be listed :
On the GNOME Extension website.
In the Looking Glass developer console.
They can also be viewed in GNOME Tweak Tool under the "Extensions" tab.
- Directly in the extension file directory at ~/.local/share/gnome-shell/extensions .
Uninstall an extension by clicking the uninstall button ("X") on https://extensions.gnome.org/local/
- Alternatively you can check the extensions' installation location (~/.local/share/gnome-shell/extensions) and delete the extension manually.
On systemd-based systems (like Debian), you can see error and log output of extensions using
journalctl /usr/bin/gnome-session -f. On other systems, logs might be written to ~/.xsession-errors.
gnome-shell --replace in a terminal will show errors in real time.
Writing your own Extension
If you are interested in developing your own extension, you will have to :
Create your first Extension. To learn the basics of extension creating, debugging and have a look at your first extension.
Once you have all of this done, you can :
- Modify Existing UI Elements.
Several older tutorials exist if you need more help :