Manage gnome extensions from the terminal.
Display the version
List all the installed extensions
Display information about a specific extension
Display help for a subcommand (like list)
Enable a specific extension
Disable a specific extension
Uninstall a specific extension
gnome-extensions help [COMMAND]
gnome-extensions enable UUID
gnome-extensions disable UUID
gnome-extensions reset UUID
gnome-extensions info UUID
gnome-extensions show UUID
gnome-extensions list [OPTION...]
gnome-extensions prefs UUID
gnome-extensions create [OPTION...]
gnome-extensions pack [OPTION...]
gnome-extensions install [OPTION...] PACK
gnome-extensions uninstall UUID
gnome-extensions is a utility that makes some common GNOME extensions operations available on the command line.
All commands except for help and version handle the following options:
Do not print error messages
Displays a short synopsis of the available commands or provides detailed help on a specific command.
Prints the program version.
Enables the extension identified by UUID.
The command will not detect any errors from the extension itself, use the info command to confirm that the extension state is ENABLED.
If the extension is already enabled, the command will do nothing.
Disables the extension identified by UUID.
If the extension is not enabled, the command will do nothing.
Reset the extension identified by UUID.
The extension will be disabled in GNOME, but may be enabled by other sessions like GNOME Classic.
Show details of the extension identified by UUID, including name, description and state.
Synonym of info.
Displays a list of installed extensions.
Include extensions installed in the user’s $HOME
Include extensions installed in the system
Include enabled extensions
Include disabled extensions
Only include extensions with preferences
Only include extensions with pending updates
Show some extra information for each extension
Open the preference dialog of the extension identified by UUID.
Creates a new extension from a template.
Set the user-visible name in the extension’s metadata to NAME
Set the description in the extension’s metadata to DESC
Set the unique extension ID in the metadata to UUID
Use TEMPLATE as base for the new extension
Prompt for any extension metadata that hasn’t been provided on the command line
pack [OPTION...] [SOURCE-DIRECTORY]
Creates an extension bundle that is suitable for publishing.
The bundle will always include the required files extension.js and metadata.json, as well as the optional stylesheet.css and prefs.js if found. Each additional source that should be included must be specified with --extra-source.
If the extension includes one or more GSettings schemas, they can either be placed in a schemas/ folder to be picked up automatically, or be specified with --schema.
Similarily, translations are included automatically when they are located in a po/ folder, otherwise the --podir option can be used to point to the correct directory. If no gettext domain is provided on the command line, the value of the gettext-domain metadata field is used if it exists, and the extension UUID if not.
All files are searched in SOURCE-DIRECTORY if specified, or the current directory otherwise.
Additional source to include in the bundle
A GSettings schema that should be compiled and included
A directory with translations that should be compiled and included
The gettext domain to use for translations
Overwrite an existing pack
The directory where the pack should be created
install [OPTION...] PACK
Installs an extension from the bundle PACK.
The command unpacks the extension files and moves them to the expected location in the user’s $HOME, so that it will be loaded in the next session.
It is mainly intended for testing, not as a replacement for GNOME Software or the extension website. As extensions have privileged access to the user’s session, it is advised to never load extensions from untrusted sources without carefully reviewing their content.
Override an existing extension
Uninstalls the extension identified by UUID.
On success 0 is returned, a non-zero failure code otherwise.
The tool is part of the gnome-shell project, and bugs should be reported in its issue tracker at https://gitlab.gnome.org/GNOME/gnome-shell/issues.