Manage GNOME extensions from Terminal

After GNOME 40+, you need to use a dedicated application to manage extensions. Until that, we had the same option in the GNOME Tweak tool for a long time.

If you have recently installed the latest version of Ubuntu 22.04, Fedora 36, or any other distribution where Gnome 42 is used as a desktop environment. In that case, you will have a hard time finding options to tweak the default features.

So how do I manage extensions? You can still manage extensions from their, gnome extension website, and the second way is to install gnome extensions from the system repository.

Although we have dedicated our article to how you can install gnome-extension on a Linux machine, you can refer to the installation step from this link:- Install extensions tool

In this article, you will see how to manage gnome extensions from the terminal to list out extensions that have been installed by the system and user. You will also find a way to install, enable, disable, and uninstall extensions all from the terminal itself.

List out all the installed extensions in GNOME

From the terminal, you can list out all the installed extensions in Gnome using the ls command and gnome-extension. I assume that you already have installed gnome extensions from the above link.

  • The default path for all extensions which are installed by the user can be viewed by invoking "ls -l ~/.local/share/gnome-shell/extensions/".
  • The default path for all extensions that are installed by the system can be viewed by invoking "ls -l /usr/share/gnome-shell/extensions/".

List out user-installed extensions

From the above section, you know where extensions are located. Now you will see how to use the gnome-extension tool to list out user-installed extensions in your installed Linux distributions.

Do-paste the following command into your terminal window to list out all user-installed extensions:

$ gnome-extensions list --user

The behaviour of the above command.

list out all user installed extension in gnome
This lists out all user-installed extensions in GNOME

List out system installed extensions

Run the same command to find out all systems or pre-installed gnome extensions. Just change the option from –user to –system.

$ gnome-extensions list --system

The behaviour of the above command

list out all system based extensions in gnome
This lists out all the system-based extensions in GNOME

If you run the same command without any options, then it will list out all the installed extensions on your Linux machine. You may have noticed the extension name in form of email addresses, right? It is basically used as a UUID for the unique identification of extensions.

You can also list out extensions on the basis of enabled and disabled using the following command:

$ gnome-extensions list --disabled
$ gnome-extensions list --enabled

Manage extensions in GNOME

Enable extensions in GNOME

To enable gnome extensions, you need to know the UUID of the particular extensions. You can find the UUID by invoking the listing out the extension’s name using the above method.

With the above command, you have found that I have several extensions installed on my system, and from that list, I have disabled Ubuntu Dock, to free up some space on the screen.

Now I want to enable it.

$ gnome-extensions enable [email protected]

The behaviour of the above command:

Enable extension in gnome
Enable the extension in Gnome

Disable extensions in GNOME

To disable the extension, you need to follow the same steps as above, just replace enable with disable, and ensure that the UUID is correct. Otherwise, you may disable the wrong extensions.

In the above section, I enabled the Ubuntu dock, but I didn’t like that, so I want to revert those changes.

Simply run the following command to disable the extensions.

$ gnome-extensions disable [email protected]

The behaviour of the above command:

Disable extension in gnome
Disable extension in gnome

Uninstall extensions in GNOME

Uninstallation is as simple as the previous section; you just need to know the UUID of the extensions and that’s all to uninstall the application from your system.

You can only remove the user-installed extension, and even if you try to remove the system extension, you will get the error “Cannot uninstall system extensions”.

So let me remove one of the extensions, which I haven’t used for a long time.

$ gnome-extensions uninstall [email protected]

You will not get any confirmation whether the extension is removed or not. You can simply run the –list command with gnome-extension to find the changes.

Install an extension in GNOME

The easiest and safest way to install an extension on GNOME is to install it from the gnome extension website, but sometimes you need to try another extension which is not available on the website, or you have downloaded the extension zip but you don’t know how to install it, then the below command can be useful to use.

$ gnome-extensions install [FILE-PATH]

Once you have installed the application, you need to restart gnome-session to show the extension in the installed list of extensions, and then you need to run the below command to enable it.

$ gnome-extensions enable [EXTENSIONS NAME]

That’s all to manage gnome extensions from Terminal.

Leave a Reply