Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have installed the extra plugins (compiz-plugins) for CompizConfig Settings Manager (compizconfig-settings-manager) and am trying to change these settings from the command line using gsettings.

The problem is none of these schemas are found by gsettings list-recursively and I can't understand why.

Based on my understanding, the schemas are found through the environment variable XDG_DATA_DIRS which currently is this (the default with Ubuntu 12.10):

ben@ben-HPdv6:~$ echo $XDG_DATA_DIRS 
/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/

By searching for schema files using the locate command I have found what I believe to be the missing schema files as follows:

ben@ben-HPdv6:~$ locate .schemas | grep "compiz"
/usr/share/gconf/schemas/compiz-addhelper.schemas
/usr/share/gconf/schemas/compiz-animation.schemas
/usr/share/gconf/schemas/compiz-annotate.schemas
/usr/share/gconf/schemas/compiz-bench.schemas
/usr/share/gconf/schemas/compiz-ccp.schemas
/usr/share/gconf/schemas/compiz-clone.schemas
/usr/share/gconf/schemas/compiz-commands.schemas
/usr/share/gconf/schemas/compiz-compiztoolbox.schemas
/usr/share/gconf/schemas/compiz-composite.schemas
/usr/share/gconf/schemas/compiz-copytex.schemas
/usr/share/gconf/schemas/compiz-crashhandler.schemas
/usr/share/gconf/schemas/compiz-cube.schemas
/usr/share/gconf/schemas/compiz-dbus.schemas
/usr/share/gconf/schemas/compiz-decor.schemas
/usr/share/gconf/schemas/compiz-expo.schemas
/usr/share/gconf/schemas/compiz-extrawm.schemas
/usr/share/gconf/schemas/compiz-ezoom.schemas
/usr/share/gconf/schemas/compiz-fade.schemas
/usr/share/gconf/schemas/compiz-fadedesktop.schemas
/usr/share/gconf/schemas/compiz-firepaint.schemas
/usr/share/gconf/schemas/compiz-gnomecompat.schemas
/usr/share/gconf/schemas/compiz-grid.schemas
/usr/share/gconf/schemas/compiz-imgjpeg.schemas
/usr/share/gconf/schemas/compiz-imgpng.schemas
/usr/share/gconf/schemas/compiz-imgsvg.schemas
/usr/share/gconf/schemas/compiz-inotify.schemas
/usr/share/gconf/schemas/compiz-kdecompat.schemas
/usr/share/gconf/schemas/compiz-mag.schemas
/usr/share/gconf/schemas/compiz-maximumize.schemas
/usr/share/gconf/schemas/compiz-mblur.schemas
/usr/share/gconf/schemas/compiz-mousepoll.schemas
/usr/share/gconf/schemas/compiz-move.schemas
/usr/share/gconf/schemas/compiz-neg.schemas
/usr/share/gconf/schemas/compiz-notification.schemas
/usr/share/gconf/schemas/compiz-obs.schemas
/usr/share/gconf/schemas/compiz-opacify.schemas
/usr/share/gconf/schemas/compiz-opengl.schemas
/usr/share/gconf/schemas/compiz-place.schemas
/usr/share/gconf/schemas/compiz-put.schemas
/usr/share/gconf/schemas/compiz-regex.schemas
/usr/share/gconf/schemas/compiz-resize.schemas
/usr/share/gconf/schemas/compiz-resizeinfo.schemas
/usr/share/gconf/schemas/compiz-ring.schemas
/usr/share/gconf/schemas/compiz-rotate.schemas
/usr/share/gconf/schemas/compiz-scale.schemas
/usr/share/gconf/schemas/compiz-scaleaddon.schemas
/usr/share/gconf/schemas/compiz-scalefilter.schemas
/usr/share/gconf/schemas/compiz-screenshot.schemas
/usr/share/gconf/schemas/compiz-session.schemas
/usr/share/gconf/schemas/compiz-shelf.schemas
/usr/share/gconf/schemas/compiz-shift.schemas
/usr/share/gconf/schemas/compiz-showdesktop.schemas
/usr/share/gconf/schemas/compiz-showmouse.schemas
/usr/share/gconf/schemas/compiz-showrepaint.schemas
/usr/share/gconf/schemas/compiz-snap.schemas
/usr/share/gconf/schemas/compiz-splash.schemas
/usr/share/gconf/schemas/compiz-staticswitcher.schemas
/usr/share/gconf/schemas/compiz-switcher.schemas
/usr/share/gconf/schemas/compiz-td.schemas
/usr/share/gconf/schemas/compiz-text.schemas
/usr/share/gconf/schemas/compiz-titleinfo.schemas
/usr/share/gconf/schemas/compiz-trailfocus.schemas
/usr/share/gconf/schemas/compiz-vpswitch.schemas
/usr/share/gconf/schemas/compiz-wall.schemas
/usr/share/gconf/schemas/compiz-water.schemas
/usr/share/gconf/schemas/compiz-widget.schemas
/usr/share/gconf/schemas/compiz-winrules.schemas
/usr/share/gconf/schemas/compiz-wobbly.schemas
/usr/share/gconf/schemas/compiz-workarounds.schemas
/usr/share/gconf/schemas/compiz-workspacenames.schemas

They are all there in /usr/share/gconf/schemas which is within /usr/share/ which is part of the default schema lookup environment variable XDG_DATA_DIRS. So I don't understand why they aren't appearing in gsettings?

Is there a 'refresh schemas list' command I am missing or does it not look recursively in a directory (seems weird cause there also other schema files in this directory) or am I not correctly understanding how gsettings works?

share|improve this question
    
I'm seeing the same problem. Logged as a bug. –  user130107 Feb 10 '13 at 23:54
add comment

1 Answer 1

It's much simpler to show an example :

gsettings set org.compiz.expo:/org/compiz/profiles/unity/plugins/expo/ expo-button "Button10"

org.compiz.expo is the schema (the words are separated by dots), you can find all schemas in /usr/share/glib-2.0/schemas/, the name of the schema is the filename without the .gschema.xml part.

/org/compiz/profiles/unity/plugins/expo/ is the path (words separated by slashes), it's where you would find it if you where looking for it in dconf-editor.

expo-button is the key, it's what you want to set

"Button10" is the value you set the key to.

In some cases you don't need the path (the schema is not relocatable), if under dconf-editor you see "No schema" then it's relocatable, you can drop the :/path/ part then.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.