Ryan Lortie
desrt@desrt.ca
2012
Jana Švárová
jana.svarova@gmail.com
Petr Kovar
pknbe@volny.cz
2019
Detailed information about profile and profile selection.
Profiles
A profile is a list of configuration databases. The first
database in a profile is the write-to database and the remaining databases
are read-only. Each of the system databases is generated from a keyfile
directory. Each keyfile directory contains one or more keyfiles. Each keyfile
contains at least one dconf path and one or more keys and the corresponding
values.
Key pairs which are set in a dconf profile will
override the default settings unless there is a problem with the value that
you have set.
You will usually want your dconf profile to consist of a
user database and at least one system database. The profile must
list one database per line.
The first line in a profile is the database that changes are written to. It
is usually user-db:user. user is
the name of the user database which can normally be found in
~/.config/dconf.
A system-db line specifies a system database. These databases
are found in /etc/dconf/db/.
Sample profile
user-db:user
system-db:local
system-db:site
Configuring a single user and multiple system databases allows for layering
of preferences. Settings from the user database file take
precedence over the settings in the local database file, and the
local database file in turn takes precedence over the
site database file.
However, the order of precedence for locks
is reversed. Locks introduced in the site or local
database files take priority over those present in user.
The dconf profile for a session is determined at login, so users
will have to log out and log in to apply a new dconf user profile
to their session.
For more information, see the
dconf(7) man page.
Select a profile
On startup, dconf consults the DCONF_PROFILE
environment variable. The variable can specify a relative path to a file in
/etc/dconf/profile/, or an absolute path, for example, to the
user's home directory.
If the environment variable is set, dconf attempts to open the
named profile and aborts if that fails. If the variable is not set,
dconf attempts to open the profile named “user”. If that
fails, it will fall back to an internal hard-wired configuration.
For more information, see the
dconf(7) man page.