什么是 dconf,它的作用是什么,如何使用它?

什么是 dconf,它的作用是什么,如何使用它?

马克·沙特尔沃思最近写过博客关于在 11.10 版本中包含 Qt 库的决定,后续行动Jono Bacon。Mark 表示,将用 Qt 编写的应用程序集成到更大的 Ubuntu 系统的最大挑战是 Qt 目前与 dconf 不兼容。

什么是 dconf,它在 Ubuntu 中起什么作用?

答案1

介绍

正如本网站上的其他答案所讨论的gconf,我将只集中讨论用于访问数据库的dconf命令行工具(例如gsettingsGUI)。dconf-editordconf

GNOME 官方网站值得注意的是

dconf 是一个低级配置系统。其主要目的是为尚未拥有配置存储系统的平台上的 GSettings 提供后端。

dconf 是一个简单的基于密钥的配置系统。密钥存在于非结构化数据库中(但其目的是将逻辑上属于一起的密钥分组在一起)。

将所有密钥都放在一个紧凑的二进制格式中还可以避免目前由 xml 文件目录树方法遇到的严重碎片问题。

dconf 针对读取进行了优化。通常,从 dconf 读取密钥涉及零系统调用和零上下文切换。写入的优化程度较低 - 它们遍历总线并由“写入器” - DBus 服务 - 以普通方式处理。

用于gsettings查看和更改设置

一旦了解了gsettings它,它就会像 GUI 一样简单dconf-editor。可以通过输入man gsettings或转到Ubuntu 在线手册页

笔记:由于每个人的系统安装的程序都不同,您在自己实验时可能需要用不同的程序替换我选择的特定项目,因为我正在使用 XUbuntu XFce 和相当多的 GNOME 程序。

要列出所有可用架构,请输入

gsettings list-schemas

要包含所有键,请输入

gsettings list-recursively

然而,通常更容易指定你想要的内容,例如,

gsettings list-schemas | grep -i shotwell

这将返回一个长列表;我将其缩短为:

org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files

现在,当您找到感兴趣的模式时,使用以下命令列出键

gsettings list-keys org.yorba.shotwell.preferences.ui

这将返回一个列表(我再次缩短了它):

background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by

选择一个,看看当前值是多少

gsettings get org.yorba.shotwell.preferences.ui display-photo-tags

这将返回 true 值,因此要反转它,请使用

gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false

这些都是琐碎的示例,但基本上展示了如何识别和更改键和值gsettings

使用 dconf-editor 更改设置

GUI 程序dconf-editor安装有dconf-工具点击打包这里或者运行

sudo apt-get install dconf-tools

然后通过在终端或快速启动菜单中输入来运行它dconf-editor

如您在屏幕截图中看到的,所有各种模式都可以在左侧展开并选择相应的键。导航到您想要的值(在本例中为首选项gnome-mplayer)非常简单。您可以单击复选框以激活值或将数值添加到其他框之一中。您还可以使用Ctrl+F键盘快捷键在 dconf 编辑器中搜索。

在此处输入图片描述

log-viewer您还可以通过在下面的屏幕截图中以 ['/var/log/auth.log', var....'] 的形式添加路径来添加另一个日志。

在此处输入图片描述

结论

还有许多其他有用的方法可以调整和设置gsettings,而且dconf-editor这些方法都很简单易用。值得仔细查看它们,看看是否有程序偏好设置中没有的选项,因为您可能能够按照自己想要的方式自定义程序。正如 fossfreedom 最近在这个问题中所展示的那样

知道如何使用gsettingsdconf-editor非常有价值。另请参阅:

答案2

对于那些来自 Windows 并希望得到简单答复的人来说,dconf 是 gnome 中相当于 Windows 注册表的东西……一个大的二叉树,任何程序都可以存储和共享它们的配置。

他们首先从传统的 unix 配置(每个应用程序一个文本文件,每个文件都有自己的格式)迁移到由 gconf 管理的标准 XML 文件树。最近,由于几乎没有人直接编辑这些 XML 文件,而且读取和解析许多文件存在性能问题,他们通过从 gconf 迁移到 dconf 来迁移到二进制格式。

与 Windows 注册表不同,dconf 应该列出所有配置条目,即使它们被设置为默认值。因此没有隐藏条目,您可以轻松更改它们或将它们重置为默认值。

答案3

dconf 不是 Ubuntu 独有的,它是用于存储应用程序设置的 GNOME 技术。有关更多详细信息,请阅读 http://live.gnome.org/dconf

相关内容