Gnome Shell Extensions are plugins written by the community to extend and modify the behavior of the GNOME desktop environment. Anyone with a good idea and some coding chops can contribute to the catalog of extensions available for download.
You can browse for and download these extensions much the same way you would install extensions for Firefox or Chrome. In this guide, we’re going to show you how to install Gnome Shell Extensions from a ZIP file using the command line on Ubuntu 20.04 Focal Fossa.
In this tutorial you will learn:
- How to download the appropiate version of a Gnome Shell Extension
- How to install a Gnome Shell Extension from ZIP file via command line
Category | Requirements, Conventions or Software Version Used |
---|---|
System | Installed Ubuntu 20.04 or upgraded Ubuntu 20.04 Focal Fossa |
Software | GNOME |
Other | Privileged access to your Linux system as root or via the sudo command. |
Conventions |
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command$ – requires given linux commands to be executed as a regular non-privileged user |
Download a Gnome Extension
The first thing we need to do is download a Gnome Extension that we wish to install. You can browse for an extension on the Gnome Extension website to find one you like. In this example, we’ll go with the OpenWeather Gnome extension, which will show us the weather from our desktop.
In order to know which version of the extension to install, we need to know which version of GNOME we are currently running. You can find out by opening a terminal and typing the following command:
$ gnome-shell --version GNOME Shell 3.36.0
Then, select the appropiate GNOME shell version and extension version to download.
Make sure you select to save the file. By default, it should download to your user’s Downloads
directory.
linuxconfig@linuxconfig:~$ ls ~/Downloads/ openweather-extensionjenslody.de.v100.shell-extension.zip
Obtain Extension UUID
We will need to know the UUID of the extension in order to install it properly. Type the following linux command in terminal to read the included metadata.json
file and retrieve the extension’s unique identifier (UUID):
linuxconfig@linuxconfig:~$ unzip -c Downloads/openweather-extensionjenslody.de.v100.shell-extension.zip metadata.json | grep uuid | cut -d \" -f4 openweather-extension@jenslody.de
The output from the command tells us that openweather-extension@jenslody.de
is the UUID of the OpenWeather extension we just downloaded.
Create Destination Directory
Using the UUID we just obtained, we need to create a directory into which we will unzip the content of the Gnome extension’s zip file. Type the following command in terminal, making sure to change the directory name with the UUID of the extension you are installing:
$ mkdir -p ~/.local/share/gnome-shell/extensions/openweather-extension@jenslody.de
Unzip Gnome Extension
Now it’s time to unzip the Gnome extension into the directory we just created:
$ unzip -q Downloads/openweather-extensionjenslody.de.v100.shell-extension.zip -d ~/.local/share/gnome-shell/extensions/openweather-extension@jenslody.de
Enable Gnome Extension
Finally, enable the newly installed extension with this command, obviously replacing the UUID with that of the extension you are enabling:
$ gnome-extensions enable openweather-extension@jenslody.de
In order for the changes to take effect, you’ll need to restart the GNOME shell. The quickest way of doing so is to press Alt+F2
on your keyboard, type r
, and then press enter. Alternatively, just log out and log back in.
You should now be able to see the extension active in GNOME.
Conclusion
In this guide, we learned how to install Gnome Shell Extensions from a ZIP file on the command line in Ubuntu 20.04 Focal Fossa. Gnome Shell Extensions offer a great way to extend the functionality of your desktop environment and customize it in new ways. Although it involves busting out the command line, it proves to be a pretty painless process for the reward of a richer desktop experience.