Starting with Ubuntu 17.10, the GNOME 3 desktop is the default. There are many new features in Ubuntu 18.04, and you can even extend the functionality of the Ubuntu desktop with GNOME shell extensions. These extensions are add-ons for the GNOME desktop that either add new functionality or modify existing functionality to expand it, a bit like browser add-ons.

Read on to find different ways to install and enable GNOME Shell extensions, how to remove extensions, and how to get notified of extension updates.

How to Install and Manage GNOME Shell Extensions

Before you install any extensions, install the GNOME Tweak Tool (also called Tweaks). This is the main way to manage GNOME Shell extensions. The tool is available in the Ubuntu Software Center, but the easiest way to install it is using the command line.

So, hit Ctrl + Alt + T to open a terminal window. Then, type the following command and press Enter:

        sudo apt install gnome-tweak-tool
    

Installing and enabling extensions in GNOME can slow down your system. So be careful how many extensions you install and enable. Use Tweaks to turn off extensions and speed up your system if it becomes slow.

You have three ways to install GNOME Shell extensions.

1. Install GNOME Shell Extensions Using GNOME Tweaks Tool

Once you've installed the GNOME Tweaks Tool, you can install a package containing a minimal set of GNOME extensions, which will be available in Tweaks. First, make sure Tweaks is closed.

Then, open a Terminal window by hitting Ctrl + Alt + T, typing the following command, and pressing Enter:

        sudo apt install gnome-shell-extensions
    

You must restart the GNOME Shell. Hit Alt + F2, type "r", and press Enter.

Restart the GNOME Shell

To start Tweaks, click Show Applications in the lower-left corner of the screen.

Click Show Application in Ubuntu

Type "tweaks" in the search box and click the Tweaks icon.

Search for and open Tweaks

Click Extensions in the left pane on the Tweaks dialog box. You'll see a list of extensions with descriptions. Use the ON/OFF slider buttons on the right to enable and disable the extensions.

Some extensions have settings you can change (gear icon) to customize the extension.

2. Install GNOME Shell Extensions in a Web Browser

The GNOME Extensions website allows you to find, install, and manage extensions for the GNOME desktop. The website is an alternative to using the GNOME Tweaks Tool to manage extensions.

When you visit the GNOME Extensions website, you'll see a message saying you must install the GNOME Shell integration, which has two parts: a browser extension and a native host messaging application.

The message provides a link to install the browser extension or add-on. This link takes you to appropriate extension or add-on page for the browser you're using. Click the link to go to the page and install the extension or add-on.

GNOME Shell integration message in Chrome

We're using Chrome in our example, but you can install the extension or add-on in any of the following browsers:

Once you've installed the extension or add-on, refresh the GNOME Extensions webpage. Now you'll see a message saying you need to install the native host connector.

Hit Ctrl + Alt + T to open a Terminal window. Type the following command and press Enter. The command is the same no matter which browser you're using.

        sudo apt install chrome-gnome-shell
    

Enter your password when prompted.

Native host connector not installed message in Chrome

Refresh the GNOME Extensions webpage again. There's no message at the top and you can start browsing through the extensions.

If you only want to view extensions available for the current version of the GNOME Shell, select Current version from the Compatible with dropdown list. Extensions made for older versions of the GNOME Shell might work in the current version, but not all do.

Select Current version in Compatible with dropdown list

To install an extension, click the title of the extension in the list. On the extension's page, click the ON/OFF slider button on the right.

Turn on an extension on GNOME Extensions website in Chrome

If this is an extension that's already available in Tweaks, it will simply be enabled. If not, you'll be asked whether you want to download and install the extension. Click Install.

Download and Install message for GNOME Shell extension

The extension is installed and automatically enabled. In this example, the Extensions extension provides an icon in the system tray area that allows you to quickly enable and disable extensions and access their settings when available.

Extension installed and enabled

You can also enable and disable extensions and configure settings for extensions on the GNOME Extensions website.

Manage extensions on GNOME Extensions website

As we mentioned earlier, extensions installed from the GNOME Extensions website can also be managed in Tweaks.

Manage extensions in Tweaks

To use the GNOME Extensions website to manage your installed extensions, click Installed extensions on the website's toolbar.

List of installed extensions in Chrome

3. Install GNOME Shell Extensions Manually

You can download extensions from the GNOME Extensions website to install manually offline. You might also find extensions on other sites that you can download.

For example, there are two extensions available that allow you to move the window buttons to the panel (Buttons to Panel) and the title of the window to the panel (Title to Panel). They're available as ZIP file downloads and you install them manually. Be sure you scan downloaded files before extracting and installing them.

When downloading extensions on the GNOME extensions website, you must select the version of the GNOME Shell you're running. To find out which version you're running, hit Ctrl + Alt + T to open a Terminal window, type the following command, and press Enter:

        gnome-shell --version
    
Get current version of GNOME Shell

As an example, we're going to install the Appfolders Management extension from the GNOME Extensions website manually. This extension allows you to group icons in the Applications view.

On the extension's webpage, select the Shell version to Download. Then, select the Extension version. The download automatically starts.

Select Shell version for extension download

Open Nautilus and extract the downloaded file by right-clicking on the file and selecting Extract Here.

Extract extension files in Nautilus

Press Ctrl + H to show hidden files and folders. Then, select the extracted extension folder and hit Ctrl + C to copy the extracted folder. Go to the following folder and press Ctrl + V to paste the extension folder:

        ~/.local/share/gnome-shell/extensions
    

The tilde character (~) represents your Home folder.

Copy extracted folder

Now we need to make sure the name of the extension folder matches what's in the metadata file.

Open the extension folder you just pasted into the ~/.local/share/gnome-shell/extensions folder. Right-click on the metadata.json file and select Open with Text Editor.

Open metadata.json file in a text editor

Find the value of the "uuid", select it (without the quotes), and copy it.

Copy the "uuid" in the metadata.json file

Go back to the extension's folder in Nautilus and select the folder. Then, hit F2 to rename it. Paste the text you copied from the "uuid" in the Folder name box and click Rename.

Rename extension folder to uuid in metadata.json file

Now you need to restart the GNOME Shell. Hit Alt + F2, type "r", and press Enter:

Manually installed extensions are also available in the Extensions section in Tweaks. You can enable and disable them and change their settings here, as well as on the GNOME Extensions site.

Manually installed extension in Tweaks

How to Disable or Uninstall GNOME Shell Extensions

Extensions enabled in the GNOME Tweaks Tool can be disabled, or turned off, using the tool. They cannot be uninstalled unless you uninstall Tweaks. To uninstall Tweaks, hit Ctrl + Alt + T to open a Terminal window, type the following command, and press Enter:

        sudo apt remove gnome-tweak-tool
    

If you installed extensions using the GNOME Extensions website, you can use the website to turn off or uninstall those extensions. To turn off an extension, click the ON/OFF slider button so it reads OFF.

Only extensions installed on the GNOME Extensions website that are not available in the Tweaks tool can be uninstalled. You can tell which extensions those are by the white X in the red box icon to the right of the ON/OFF slider button. Click the X button to uninstall the extension.

Uninstall an extension on the GNOME Extensions website

Extensions installed using the GNOME Extensions site are also added to the ~/.local/share/gnome-shell/extensions folder. So you can uninstall these extensions, and any extensions you installed manually, by deleting the extension folders from the ~/.local/share/gnome-shell/extensions folder.

How to Get Update Notifications for GNOME Shell Extensions

The only way to know if an update is available for a GNOME Shell extension is to visit the GNOME Extensions website. But there's an extension available, called Extension Update Notifier, that notifies you when there's an update for an installed extension on your system.

Useful GNOME Shell Extensions to Install

Here are a few useful GNOME Shell extensions to get you started.

1. Dash to Dock

Dash to Dock GNOME extension

Dash to Dock provides a dock for the GNOME Shell, making it easier to access your applications and faster to switch between open applications and desktops.

The side panel is converted to a dock that can be shown on the left, right, top, or bottom of the screen. You can also change the size of the icons on the dock, limit the size of the dock itself, and adjust many other settings affecting the look and behavior of the dock.

Download: Dash to Dock

2. Clipboard Indicator

Clipboard Indicator GNOME extension

The Clipboard Indicator extension adds a clipboard indicator to the top panel and stores the clipboard history. This allows you to access items you've copied to the clipboard since installing the extension and paste them into an application like a word processor or text editor.

You can change settings (like how many items to store in the clipboard history, or how many characters to show in the preview of each item) on the extension's menu.

Download: Clipboard Indicator

Drop Down Terminal GNOME extension

If you use the command line a lot, you can install the Drop Down Terminal extension. This allows you to access a Terminal window with a keystroke (the tilde (~) key above the Tab key by default) that drops down from the top of the screen or pops up from the bottom.

Download: Drop Down Terminal

Improve Productivity With GNOME Shell Extensions

Even if you don't much like the new GNOME Shell, you can customize it using extensions and turn it into a useful and productive desktop environment.

In short, GNOME Shell extensions provide another reason to upgrade to Ubuntu 18.04.