LinuxCommandLibrary

gnome-extensions

Manage GNOME Shell extensions

TLDR

List all the installed extensions

$ gnome-extensions list
copy

Display information about a specific extension
$ gnome-extensions info "[extension_id]"
copy

Enable a specific extension
$ gnome-extensions enable "[extension_id]"
copy

Disable a specific extension
$ gnome-extension disable "[extension_id]"
copy

Uninstall a specific extension
$ gnome-extension uninstall "[extension_id]"
copy

Display help for a specific subcommand (like list)
$ gnome-extensions help [subcommand]
copy

Display version
$ gnome-extensions version
copy

SYNOPSIS

gnome-extensions [OPTIONS] COMMAND [EXTENSION...]

PARAMETERS

--help
    Show help options.

--version
    Show program's version number and exit.

list
    List installed extensions.

show
    Show the details of an extension. is the extension UUID.

enable
    Enable an extension. is the extension UUID.

disable
    Disable an extension. is the extension UUID.

uninstall
    Uninstall an extension. is the extension UUID.

install
    Install an extension from a file. is the path to the extension zip file.

update
    Check for and install updates for extensions.

prefs
    Open the preferences window for an extension if it has one. is the extension UUID.

DESCRIPTION

The `gnome-extensions` command is a utility for managing GNOME Shell extensions. It allows you to list, enable, disable, install, uninstall, update, and configure GNOME Shell extensions. This command is particularly useful for customizing your GNOME desktop environment and adding functionality not provided by the base installation.

It provides a command-line interface to the same functionality found in the GNOME Extensions app. Using it, you can easily manage extensions without needing to launch the graphical interface.

The command interacts with the GNOME Shell environment and modifies its configuration. It typically requires appropriate permissions to modify the system-wide extension directory, so you might need to run it with `sudo` for some operations. It simplifies the process of enabling or disabling extensions that impact UI/UX performance.

CAVEATS

Enabling or disabling extensions may require restarting the GNOME Shell for the changes to take effect. Use Alt+F2, then type `r` and press Enter to restart the shell.
Incorrectly configured or malfunctioning extensions can cause instability in the GNOME Shell. Always ensure that extensions are compatible with your GNOME version.

EXTENSION UUIDS

Each GNOME Shell extension is identified by a unique identifier known as its UUID (Universally Unique Identifier). This UUID is typically in the format `extension-name@author-domain.com`. You need the UUID when using commands like `enable`, `disable`, `uninstall`, and `prefs`.

FINDING EXTENSIONS

Extensions can be found on the GNOME Extensions website (extensions.gnome.org). It is recommended to install and manage extensions from official sources or trusted repositories to avoid security risks.

DEBUGGING EXTENSIONS

If an extension causes issues, you can use the GNOME Shell's looking glass (Alt+F2, then type lg and press Enter) to view error messages and diagnose the problem. Disabling the problematic extension is a common first step in troubleshooting.

HISTORY

The `gnome-extensions` command emerged as a convenient tool to manage GNOME Shell extensions from the command line. Before this, managing extensions often involved manually manipulating files in the extensions directory or relying solely on the GNOME Extensions app. The command streamlined the process, making it easier for developers and advanced users to automate extension management and troubleshoot issues. It reflects the increasing importance of extensions in customizing the GNOME desktop experience.

SEE ALSO

gnome-shell(1), dconf(1)

Copied to clipboard