DCONF(1)

๐Ÿ’… DCONF(1) โ€” like, the dconf manual bestie

okay so picture this: you're in the terminal, it's DCONF(1), the section is User Commands, and this little icon is literally the simple tool for manipulating a dconf database. no cap. let's get into it ๐ŸŽ€


โœจ NAME โœจ

dconf โ€” simple tool for manipulating a dconf database. that's it. that's the vibe. ๐Ÿซถ


๐Ÿฆ‹ 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]

okay like ten whole little rituals, all iconic, all copy-pasteable ๐Ÿ’–


๐ŸŒธ DESCRIPTION ๐ŸŒธ

so the dconf program can perform various operations on a dconf database โ€” reading or writing individual values, or entire directories, whatever you need bestie. the important thing? this tool operates on dconf directly, without using gsettings schema information. which means โ€” and listen โ€” it cannot perform type and consistency checks on values. it's giving "no safety net, we trust you."

if you do want those checks, the gsettings(1) utility is your alternative. not saying it's the responsible friend. just saying it exists ๐Ÿ˜Œ

now the argument lore, because this part matters:

  • DIR arguments must be directory paths โ€” starting and ending with '/'
  • KEY arguments must be key paths โ€” starting, but not ending with '/'
  • PATH arguments can be either directory or key paths (main character energy, honestly)

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. yes, .d. yes, with the dot. don't come for me ๐Ÿ“

VALUE arguments must be in GVariant format, so like โ€” a string must include explicit quotes: "'foo'". and yes, this format is also used when printing out values, so it goes both ways, symmetric queen ๐Ÿ’œ

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. so like, sudo. or vibes-based escalation, idk, figure it out ๐Ÿ˜ญ

โš ๏ธ note that dconf needs a D-Bus session bus connection to write changes to the dconf database. no session bus, no writes. it's not being difficult, it's just how she is ๐Ÿ’€

๐Ÿ‘‘ COMMANDS ๐Ÿ‘‘

read

read the value of a key. use -d to print the default value rather than the user-set value. peek at what society decided vs. what you decided. iconic. ๐Ÿ”ฅ

list

list the sub-keys and sub-directories of a directory. it's the "who's in this group chat" of commands.

write

write a new value to a key. go off, king. ๐Ÿ’…

reset

reset a key or an entire directory. for directories, -f must be specified โ€” like, no -f, no directory reset, that's the rule, don't test her.

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's used on a big endian machine, dconf will automatically byteswap the contents on read. so she's bilingual, she just doesn't advertise it โœจ

update

update the system dconf databases. very responsible. very demure.

watch

watch a key or directory for changes. literally the "not me refreshing the page" command, except she does it for you ๐ŸŒˆ

dump

dump an entire subpath to stdout. the output is in a keyfile-like format, with values in GVariant syntax. chef's kiss, structured, beautiful, ate ๐Ÿฝ๏ธ

load

populate a subpath from stdin. the expected format is the same as produced by dump โ€” so dump then load, round trip, we love a matching set ๐Ÿซถ

โš ๏ธ attempting to change non-writable keys cancels the load command. like, full stop, whole thing, cancelled. to ignore changes to non-writable keys instead, use -f. that's the difference, ok? remember it ๐Ÿ’€

help

display help and exit. if COMMAND is given, display help for this command. the ultimate "bestie explain" command, honestly ๐ŸŽ€


๐Ÿงš ENVIRONMENT ๐Ÿงš

  • DCONF_PROFILE โ€” this environment variable determines which dconf profile to use. see dconf(7). profile choosing is a personality trait and she respects that ๐ŸŒธ

โญ SEE ALSO โญ

go read those too, iykyk, it's a whole cinematic universe ๐Ÿ’–


aaaand that's the page!! slay ๐Ÿฆ‹ this was dconf โ€” user commands, DCONF(1) โ€” brought to you with love, lil endian jokes, and zero๐Ÿ“ skipped details. now go write some keys responsibly, bestie ๐Ÿ˜ญ๐Ÿ’œ

๐Ÿ“ฆ where this page comes from