By locking down specific GNOME Shell extensions, you can ensure that a predefined set of extensions is consistently available to all users. You can configure a set of mandatory extensions and prevent users from modifying them.
Before you begin
- You have administrative access.
Procedure
-
Create a new
/etc/dconf/db/local.d/00-extensions file with the following content:
[org/gnome/shell]
# The GNOME Shell does not load extensions that are not listed in the `org.gnome.shell.enabled-extensions` file, preventing the user from using them.
enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com']
development-tools=false
Replace the UUIDs (myextension1@myname.example.com, myextension2@myname.example.com) with the ones you want to enable. You can find the UUID of an extension on its GNOME Shell extensions website page.
-
To prevent users from changing these settings, create a new
/etc/dconf/db/local.d/locks/extensions file with the following content:
/org/gnome/shell/enabled-extensions
/org/gnome/shell/development-tools
-
Apply the changes to the system databases:
Results
- Extensions that are not listed in the
org.gnome.shell.enabled-extensions file are not loaded by the GNOME Shell, preventing the user from using them.