如何使用dconf的纯文本模式?

如何使用dconf的纯文本模式?

默认情况下,dconf以二进制格式存储其配置,不方便与版本控制一起使用。

dconf注意到 dconf 有一个配置设置,可以启用“双向”纯文本模式,该模式可以使用纯文本文件有效地镜像二进制数据库。

不幸的是,它对如何使用这个听起来很有前途的功能提供了很少的指导。

实现这一点最直接的方法是什么?

答案1

一切都在那里(除了将当前设置保存到该文本文件的部分):

启动时,dconf查询DCONF_PROFILE环境变量。如果设置,dconf将尝试打开指定的配置文件,如果失败则中止。如果未设置环境变量,它将尝试打开名为“的配置文件用户如果失败,它将回退到内部硬连线配置。dconf将其配置文件存储在文本文件中。DCONF_PROFILE可以指定 中文件的相对路径 /etc/dconf/profile/,或绝对路径(例如在用户的主目录中)。

service-db”行指示 dconf 将用户数据库的二进制数据库文件放置在XDG_RUNTIME_DIR.由于此位置不是持久的,因此该行的其余部分指示dconf如何持久存储数据库。典型的一行是service-db:keyfile/user,它告诉dconf将二进制数据库与 中的纯文本密钥文件同步$XDG_CONFIG_HOME/dconf/user.txt。同步是双向的。

因此,所讨论的文本文件$XDG_CONFIG_HOME/dconf/user.txt通常对应于~/.config/dconf/user.txt.
首先,将当前设置保存到该文件(显然,新用户不需要这样做):

dconf dump / > ~/.config/dconf/user.txt

然后将该service-db行附加到配置文件(作为根):

mkdir -p /etc/dconf/profile
printf '%s\n' 'service-db:keyfile/user' >> /etc/dconf/profile/user

现在,重新启动会话,两个文件将同步。

相关内容