Introduction
As other answers on this site discuss gconf
and dconf
together, I will just concentrate on discussing command-line tools such as gsettings
and the gui dconf-editor
that are used to access the dconf
database.
At the GNOME official site it is noted that
dconf is a low-level configuration system. Its main purpose is to provide a backend to GSettings on platforms that don't already have configuration storage systems.
dconf is a simple key-based configuration system. Keys exist in an unstructured database (but it is intended that keys that logically belong together are grouped together).
Having all of the keys in a single compact binary format also avoids the intense fragmentation problems currently experienced by the tree-of-directories-of-xml-files approach.
dconf is optimised for reads. Typically, reading a key from dconf involves zero system calls and zero context switches.
Writes are less optimised -- they traverse the bus and are handled by a "writer" -- a DBus service -- in the ordinary way.
Using gsettings
to view and change settings
Once one gets to know gsettings
it can be as easy as the gui dconf-editor
. The options can be listed by entering man gsettings
or going to the Ubuntu manpages online.
NOTE: As everyone's system has different programs installed, you may have to substitute the specific items I choose for different ones when experimenting yourself, as I am using XUbuntu XFce with quite a lot of GNOME programs.
To list all the available schemas, enter
gsettings list-schemas
To also include all the keys, enter
gsettings list-recursively
However, it is usually easier to specify what you want with, for examples,
gsettings list-schemas | grep -i shotwell
This returns a long list; I have shortened it to:
org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files
Now when you have found the schema that you are interested in, list the keys with
gsettings list-keys org.yorba.shotwell.preferences.ui
This returns a list (again I have shortened it):
background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by
Pick one and see what the current value is with
gsettings get org.yorba.shotwell.preferences.ui display-photo-tags
This returns a value of true, so to reverse it, use
gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false
These are trivial examples, but show basically how keys and values are identified and changed with gsettings
.
Using dconf-editor to change settings
The GUI program, dconf-editor
is installed with dconf-tools package by clicking here or by running
sudo apt-get install dconf-tools
Then run it by entering in the terminal or in the quick launch menu, dconf-editor
.
As you can see in the screenshot, all the various schemas can be expanded on the left hand side and the appropriate key selected. It is very straightforward to navigate to the value you want (in this case the gnome-mplayer
preferences). You can click the check box to have a value activated or add a numerical value into one of the other boxes. You can also search within dconf editor with Ctrl+F keyboard shortcut.

You can also add another log say to log-viewer
by adding a path in the form ['/var/log/auth.log', var....'] in the screenshot below.

Conclusion
There are many other useful ways that you can tweak settings with both gsettings
and dconf-editor
and they are straightforward to use. It is worth looking through them to see if there are options there that are not in the programs' preferences, as you may be able to customize your program just the way you want. As fossfreedom recently showed in this question
knowing how to use gsettings
or dconf-editor
is extremely valuable. See also: