How to Customize the GNOME Shell in Ubuntu Using Extensions
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.
To start Tweaks, click Show Applications in the lower-left corner of the screen.
Type “tweaks” in the search box and click the Tweaks icon.
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.
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.
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.
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.
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.
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.
You can also enable and disable extensions and configure settings for extensions on the GNOME Extensions website.
As we mentioned earlier, extensions installed from the GNOME Extensions website can also be managed in Tweaks.
To use the GNOME Extensions website to manage your installed extensions, click Installed extensions on the website’s toolbar.
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:
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.
Open Nautilus and extract the downloaded file by right-clicking on the file and selecting Extract Here.
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:
The tilde character (~) represents your Home 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.
Find the value of the “uuid”, select it (without the quotes), and copy it.
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.
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.
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.
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 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
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
3. Drop Down Terminal
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 .