1. Overview

With the release of GNOME 3, dconf replaced gconf as the default configuration tool and database. Specifically, this change aimed to improve performance, reduce complexity, and provide a more modern and efficient configuration system in a GNOME desktop environment. So, whether we want to modify the appearance settings, customize keyboard shortcuts, or adjust power management preferences, we can use the dconf Editor on the system with ease.

In this tutorial, we’ll check out methods for using the dconf Editor on an Ubuntu 22.04 installation GNOME desktop.

Notably, we use the term dconf Editor throughout this article to underline the dconf command as the backbone of the Dconf Editor front-end.

2. Installing the dconf Editor

The dconf Editor is a graphical tool used to configure settings in Linux. In particular, we can use it to navigate and modify system options stored in the dconf database.

To clarify, the dconf database is a key-value store that manage different aspects of a system.

So, let’s install the dconf Editor. For this, first, we open a terminal and install the dconf-editor package via apt:

$ sudo apt install dconf-editor

After a successful installation, we can use the dconf Editor via the shell or another system interface.

3. Using the dconf Command

The dconf command-line tool offers a direct way to interact with the dconf configuration system through the terminal.

3.1. Read Entries

For instance, we use dconf to read the current status of the automatic-timezone settings on the GNOME desktop environment:

$ dconf read /org/gnome/desktop/datetime/automatic-timezone 
false

In the above command, we can see that the automatic-timezone feature is currently set to false.

3.2. Write Entries

Now, we use the dconf write command and enable the automatic-timezone feature:

$ dconf write /org/gnome/desktop/datetime/automatic-timezone true

Here, we passed true as the value of the /org/gnome/desktop/datetime/automatic-timezone configuration value. Consequently, the dconf Editor enables the system to automatically adjust the timezone.

3.3. List Entries

Naturally, there are other features of the dconf command.

For example, we can list whole branches of the hierarchical organization of /org/gnome/desktop/ with the dconf list command:

$ dconf list /org/gnome/desktop/
app-folders/
datetime/
input-sources/
interface/
notifications/
privacy/
search-providers/
session/
wm/

As a result, we can see a list of entries under the GNOME desktop settings.

3.4. Dump Configuration

The dconf dump command enables us to export the current configuration of a branch to a file. Moreover, we can use it to share a configuration or create backups on the system.

For instance, here, we export the current configuration of /org/gnome/desktop/datetime/ to the datetime-config-backup.txt file:

$ dconf dump /org/gnome/desktop/datetime/ > datetime-config-backup.txt

Now, let’s use the cat command to view the content of the datetime-config-backup.txt file:

$ cat datetime-config-backup.txt
[/]
automatic-timezone=true

Thus, we successfully saved the current configuration of the specified branch in a file.

3.5. Load Configuration

In a Linux terminal, we can use the dconf load command to load the configuration data from a file into the dconf database. In addition, we can also use it to apply an existing or saved configuration to a branch and its relevant values.

Now, let’s use the dconf load command to load the configuration for /org/gnome/desktop/datetime from the datetime-config-backup.txt file:

$ dconf load /org/gnome/desktop/datetime/ < datetime-config-backup.txt

Thus, dconf load applies the saved configuration to the selected branch.

4. Using the dconf Editor

We can use the dconf Editor to customize several aspects of a GNOME desktop environment, its applications, and overall system behavior.

To do so, we now open the Activities menu, type dconf Editor, and open the application:

launching dconf editor on linux

As a result, we can see a tree-like structure that organizes the configuration settings hierarchically in the dconf Editor:

viewing tree like structure in dconf editor

Now, let’s see how we can go through and work with this data.

4.1. Search Entries

Now, to search for any specific entry or navigate to a particular path in the dconf Editor, we click on the search icon and type the complete path in the address bar:

navigating to specific path in dconf editor in linux

Then, for example, we navigate to the /org/gnome/desktop/datetime/ path and look for the automatic-timezone toggle:

navigating to datetime settings in dconf editor

Next, we enable the automatic-timezone toggle, and click the reload icon to apply the changes:

apply automatic changes to timezone settings in dconf editor

Thus, the changes reflect on the timezone settings of our system.

4.2. View Keyboard Shortcuts

We can also use different keyboard shortcuts to efficiently navigate and interact within the dconf Editor.

To do so, we click on the three horizontal lines icon and select the Keyboard Shortcuts option:

viewing keyboard shortcuts of dconf editor

Let’s check the result:

viewing dconf editor shortcuts first page

Consequently, we can now see the first page which contains different keyboard shortcuts related to Actions, Path bar navigation, and Search options of the dconf Editor.

Now, we click on 2 from the bottom of the opened window to go to the next page:

viewing dconf editor shortcuts second page

As a result, we can see keyboard shortcuts related to Keys list actions, Modifications list actions, Generic, Clipboard, and Quit options of the dconf Editor.

5. Conclusion

In this article, we learned different methods to edit the dconf database in Linux.

Particularly, we saw that the dconf command enables us to configure the dconf database entries using a shell. On the other hand, we can use the dconf Editor to perform the same operations through a more user-friendly and interactive interface.

Ultimately, we can select any of these methods based on our preference for using a shell or the system interface.

Comments are closed on this article!