Ubuntu – Configure gnome-shell extensions from command line

gnome-shellgnome-shell-extensiongsettings

I like to run a couple of scripts to automatically install packages and do some configurations on fresh OS installs. I use gnome shell with a few extensions and was thinking of improving my scripts to configure them.

I usually configure the extensions using gnome-shell-extension-prefs or dconf-editor and I know how to edit other schemas from the command line. Example:

gsettings set org.gnome.desktop.background picture-options stretched

But, although I can find and edit the installed extensions under org.gnome.shell.extensions using dconf-editor I can't access them using gsettings since they don't seem to have an assigned schema:

No such schema 'org.gnome.shell.extensions.extname'

The only extensions accessible with gsettings seem to be the ones that came pre-installed.

So, the question is, how can I configure the installed extensions from the command line? Is there any way to assign to gsettings the compiled schemas in ~/.local/share/gnome-shell/extensions/ ? Maybe I'm looking in the wrong direction.

Environment: Ubuntu Gnome 14.04 (Gnome Shell 3.10.4)

Thanks in advance.

Best Answer

Found the answer by myself in the end.

sudo cp ~/.local/share/gnome-shell/extensions/extname/schemas/org.gnome.shell.extensions.extname.gschema.xml \
    /usr/share/glib-2.0/schemas/ &&
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

Copy and compile the schemas in ~/.local/share/gnome-shell/extensions and gsettings will be able to work with them.