Tools

How to Install Gnome Shell Extensions

Install Gnome Shell Extensions
Written by Martins D. Okoi

To put simply, a GNOME Shell Extension (also GNOME Extension) is any piece of code that improves and adds GNOME desktop’s functionalities. Think of it as a Google Chrome extension or Firefox add-on only that it is for your Desktop Environment.

GNOME Extensions can be used to tweak almost every aspect of the GNOME Desktop Environment e.g. customizing mouse behavior; and also to display information like the weather, battery status, etc.

There are almost an unlimited number of GNOME Extensions and the most convenient way to manage them is via the popular GNOME Tweak Tool so you need to set that up if you don’t already have it installed on your system and you can install it either via your Software Center or your terminal using:

$ sudo apt install gnome-tweak-tool

There are 3 ways to use GNOME Extensions:

  1. Install the free minimal bundle of extensions curated for your distro.
  2. Installation in your web browser.
  3. Manual installation.

1. Free Minimal Bundle Installation

This refers to the minimal set of extensions that several Linux distros usually package for their users and the last time I checked it contained 10 extensions. Install them via the CLI using the following command:

$ sudo apt install gnome-shell-extensions

Once the installation is complete, reboot your machine, launch the GNOME Tweak Tool, navigate to Extensions and click to enable the extensions that you want to use.

Enable Gnome Extensions

Enable Gnome Extensions

If you want more extensions than those in the minimal bundle then read on.

  ArcMenu - A Beautiful Menu Alternative for GNOME 3

2. Installation in Your Web Browser

The GNOME Project has a website dedicated to its Gnome extensions and you can install and manage preferred extensions right from your browser without the need to use GNOME Tweak Tool.

Gnome Shell Extensions

Gnome Shell Extensions

However, you will need to have a browser-specific add-on and a native host connector installed in your system. Follow any of these links to get the browser extension for Google ChromeFirefox, and/or Opera.

Next, install the native connector using the following command:

$ sudo apt install chrome-gnome-shell

You can now open the GNOME Extensions Website where you can search for, install, and enable your preferred extensions.

You can also configure individual extensions by clicking the gear icon next to their title on the website or via the GNOME Tweak Tool.

3. Manual Installation

Assume that you’re offline and you need to set up a GNOME Extension, how do you go about it? Manual installation. Head over to the website to download the extension file which you will extract and move to your ~/.local/share/gnome-shell/extensions directory.

Next, open metadata.json file inside it and check for the value of uuid and make sure it is the same value as extension folder’s name. If it isn’t, rename the folder to the value of the uuid.

  Indicator Bulletin - A Clipboard Manager for Searching and Formatting Text

Next, restart the GNOME Shell by pressing Alt+F2 and entering r.

Restart GNOME Tweak Tool if it was already running and you should see the newly installed extension in the extensions section where you can manage it like you would in the formerly listed methods.

Uninstalling any GNOME Extension is as easy as removing them from the GNOME website’s installed extensions section. And if you installed the extensions manually, delete the files from your ~/.local/share/gnome-shell/extensions directory.

Are you conversant with the methods for installing GNOME Shell Extensions? Tell us which is your favorite in the comments section below.

Join Our Community Of 350,000+ Linux Lovers by liking us on Facebook, or follow us on Twitter, Google+ and Instagram.

If you liked this article, sign up for the fossmint newsletter for handpicked selection of stories from FossMint delivered to your inbox every day.


Top Deals

About the author

Martins D. Okoi

Martins Divine Okoi is a graduate of Computer Science with a passion for Linux and the Open Source community. He works as a Graphic Designer, Web Developer, and programmer.