Dconf Explained

D

DevynCJohnson

Guest
Dconf is a settings database used in Gnome3 and similar systems (such as Unity and XFCE). Dconf is the predecessor to Gconf which was used in Gnome2. Dconf acts like the registry used on Windows systems. Understanding this system may help users figure out how to make various changes and fixes to their system.

Dconf provides a Windows-registry-like interface. ~/.config/dconf/user is the binary database used by Dconf.

config-dconf-user.png


GSettings is a binary interface to the same data seen in Dconf. The "gsettings" command-line utility provides a way to modify data in the Dconf database. In a terminal, executing “gsettings list-schemas” will print a list of schemas while “gsettings list-keys SCHEMA.SUB” will print the keys within a schema. To set/change a key's value, type “gsettings set SCHEMA KEY VALUE”.

Gconf is the now obsolete and was used in Gnome2. It used an XML database. Even though this system is old, some programs still use it (as seen by the ~/.gconf/ directory).

Dconf-editor is a GUI program used to make various edits/changes to the Dconf database. On the left side of the window are various categories such as apps, ca, com, desktop, org, and system. Each one stores many sub-categories. The right side of the window displays the settings for the selected category or sub-category. In this part of the window, users can make changes to the settings. At the bottom of the window, users will see various information about the selected setting.

dconf-editor.png


Here is a list and description of each of the different major categories/schemas.
  • apps - settings for specific applications are found under here
  • ca - settings pertaining to Dconf itself
  • com - settings specific/common to the current system go here
  • desktop - settings for the desktop system (like Gnome, iBus, etc.) are found here
  • org - settings belonging to apps or subsystems of various organizations or groups go here. For instance, many applications are developed by the Gnome developers and Freedesktop developers so they each have a category dedicated to all of their software.
  • system - system settings belong under this schema

The user can make many changes using Dconf-editor. For example, at "com.canonical.indicator-session" the user can enable or disable the "Restart" or "Suspend" entries in the menu commonly used to shutdown Ubuntu. Also, under "com.canonical.unity-greeter" users can customize the Greeter screen (lock or login screen) like the background wallpaper, start-up sound, etc.

Some Linux systems may have some sub-categories that other systems lack. This all depends on the installed software and their versions.

Now that we have a decent understanding of Dconf, we can learn about the various settings that can be configured.

To edit the list of media players show under the sound menu, go to "com.canonical.indicator.sound" in Dconf-editor. Look for the key titled "interested-media-players". For the value, list the names of the "*.desktop" files used by the media players that the user wants to add.

dconf-editor-media.png


To disable the Bluetooth indicator (in Ubuntu on the Unity interface), go to "com.canonical.indicator.bluetooth" and uncheck "visible".

Unity scopes can be added or removed by changing the "scopes" list under "com.canonical.Unity.Dash".

dconf-unity-settings.png


Various webapps can be enabled or disabled in Unity under "com.canonical.unity.webapps".

Under "org.gnome.desktop.thumbnail-cache", users can change how long thumbnails are kept in the cache.

On Gnome3 systems, users can add more application categories by going to "org.gnome.shell" and changing the value of the "app-folder-categories" key. Then, to make applications go in the newly added categories, edit the *.desktop files for the desired applications (http://www.linux.org/threads/desktop-entry-files-and-xdg-open.6543/).

Further Reading
https://wiki.gnome.org/action/show/Projects/dconf
https://github.com/GNOME/dconf/
 

Attachments

  • slide.jpg
    slide.jpg
    70 KB · Views: 125,566


Dconf is a settings database used in Gnome3 and similar systems (such as Unity and XFCE). Dconf is the predecessor to Gconf which was used in Gnome2. Dconf acts like the registry used on Windows systems. Understanding this system may help users figure out how to make various changes and fixes to their system.

Dconf provides a Windows-registry-like interface. ~/.config/dconf/user is the binary database used by Dconf.

View attachment 2028

GSettings is a binary interface to the same data seen in Dconf. The "gsettings" command-line utility provides a way to modify data in the Dconf database. In a terminal, executing “gsettings list-schemas” will print a list of schemas while “gsettings list-keys SCHEMA.SUB” will print the keys within a schema. To set/change a key's value, type “gsettings set SCHEMA KEY VALUE”.

Gconf is the now obsolete and was used in Gnome2. It used an XML database. Even though this system is old, some programs still use it (as seen by the ~/.gconf/ directory).

Dconf-editor is a GUI program used to make various edits/changes to the Dconf database. On the left side of the window are various categories such as apps, ca, com, desktop, org, and system. Each one stores many sub-categories. The right side of the window displays the settings for the selected category or sub-category. In this part of the window, users can make changes to the settings. At the bottom of the window, users will see various information about the selected setting.

View attachment 2030

Here is a list and description of each of the different major categories/schemas.
  • apps - settings for specific applications are found under here
  • ca - settings pertaining to Dconf itself
  • com - settings specific/common to the current system go here
  • desktop - settings for the desktop system (like Gnome, iBus, etc.) are found here
  • org - settings belonging to apps or subsystems of various organizations or groups go here. For instance, many applications are developed by the Gnome developers and Freedesktop developers so they each have a category dedicated to all of their software.
  • system - system settings belong under this schema

The user can make many changes using Dconf-editor. For example, at "com.canonical.indicator-session" the user can enable or disable the "Restart" or "Suspend" entries in the menu commonly used to shutdown Ubuntu. Also, under "com.canonical.unity-greeter" users can customize the Greeter screen (lock or login screen) like the background wallpaper, start-up sound, etc.

Some Linux systems may have some sub-categories that other systems lack. This all depends on the installed software and their versions.

Now that we have a decent understanding of Dconf, we can learn about the various settings that can be configured.

To edit the list of media players show under the sound menu, go to "com.canonical.indicator.sound" in Dconf-editor. Look for the key titled "interested-media-players". For the value, list the names of the "*.desktop" files used by the media players that the user wants to add.

View attachment 2031

To disable the Bluetooth indicator (in Ubuntu on the Unity interface), go to "com.canonical.indicator.bluetooth" and uncheck "visible".

Unity scopes can be added or removed by changing the "scopes" list under "com.canonical.Unity.Dash".

View attachment 2032

Various webapps can be enabled or disabled in Unity under "com.canonical.unity.webapps".

Under "org.gnome.desktop.thumbnail-cache", users can change how long thumbnails are kept in the cache.

On Gnome3 systems, users can add more application categories by going to "org.gnome.shell" and changing the value of the "app-folder-categories" key. Then, to make applications go in the newly added categories, edit the *.desktop files for the desired applications (http://www.linux.org/threads/desktop-entry-files-and-xdg-open.6543/).

Further Reading
https://wiki.gnome.org/action/show/Projects/dconf
https://github.com/GNOME/dconf/
Wow...... I had no IDEA about Dconf, apart from just SEEING it every now and then while using one of my Nodes running GNU/Linux, or while using a LIVE Environment....... :) Good info, good sir!..... :3 Maybe I should start reading your other articles..... :) I always needed a better understanding of just what makes Distros tick....... :3
 
Wow...... I had no IDEA about Dconf, apart from just SEEING it every now and then while using one of my Nodes running GNU/Linux, or while using a LIVE Environment....... :) Good info, good sir!..... :3 Maybe I should start reading your other articles..... :) I always needed a better understanding of just what makes Distros tick....... :3

Thanks!

Here is a reading guide that lists a recommended order to read Linux.org topics by subject - http://www.linux.org/threads/reading-guides-indexes.6034/
 

Members online


Top