---
name: "dconf"
section: "1"
platform: "linux"
package: "dconf"
version: "51.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/dconf"
---

# dconf(1)

Simple tool for manipulating a dconf database

## NAME

dconf - Simple tool for manipulating a dconf database

## SYNOPSIS

**dconf** read \[-d\] *KEY*

**dconf** list *DIR*

**dconf** write *KEY* *VALUE*

**dconf** reset \[-f\] *PATH*

**dconf** compile *OUTPUT* *KEYFILEDIR*

**dconf** update \[*DBDIR*\]

**dconf** watch *PATH*

**dconf** dump *DIR*

**dconf** load \[-f\] *DIR*

**dconf** help \[*COMMAND*\]

## DESCRIPTION

The **dconf** program can perform various operations on a dconf database, such as reading or writing individual values or entire directories. This tool operates on dconf directly, without using gsettings schema information. Therefore, it cannot perform type and consistency checks on values. The [**gsettings**(1)](/gsettings/1.md) utility is an alternative if such checks are needed.

The *DIR* arguments must be directory paths (starting and ending with '/'), the *KEY* arguments must be key paths (starting, but not ending with '/') and the *PATH* arguments can be either directory or key paths.

The *OUTPUT* argument must be the location to write a (binary) dconf database to and the *KEYFILEDIR* argument must be a .d directory containing keyfiles.

*VALUE* arguments must be in GVariant format, so e.g. a string must include explicit quotes: "'foo'". This format is also used when printing out values.

The optional *DBDIR* argument is a directory containing the system dconf databases to be updated. The default directory is typically /etc/dconf/db/ and users need sufficient privileges to update it.

Note that dconf needs a D-Bus session bus connection to write changes to the dconf database.

## COMMANDS

**read**

Read the value of a key. Use **-d** to print the default value rather than the user-set value.

**list**

List the sub-keys and sub-directories of a directory.

**write**

Write a new value to a key.

**reset**

Reset a key or an entire directory. For directories, **-f** must be specified.

**compile**

Compile a binary database from keyfiles.

The result is always in little-endian byte order, so it can be safely installed in 'share'. If it is used on a big endian machine, dconf will automatically byteswap the contents on read.

**update**

Update the system dconf databases.

**watch**

Watch a key or directory for changes.

**dump**

Dump an entire subpath to stdout. The output is in a keyfile-like format, with values in GVariant syntax.

**load**

Populate a subpath from stdin. The expected format is the same as produced by **dump**. Attempting to change non-writable keys cancels the load command. To ignore changes to non-writable keys instead, use **-f**.

**help**

Display help and exit. If *COMMAND* is given, display help for this command.

## ENVIRONMENT

**DCONF\_PROFILE**

This environment variable determines which dconf profile to use. See [**dconf**(7)](/dconf/7.md).

## SEE ALSO

[**dconf**(7)](/dconf/7.md), [**gsettings**(1)](/gsettings/1.md), [**dconf-editor**(1)](/dconf-editor/1.md)
