什么是dconf,它的function是什么,我该如何使用它?

Mark Shuttleworth 最近在博客中发表了关于将Qt库纳入11.10版本的决定,以及Jono Bacon的后续行动 。 Mark表示,将用Qt编写的应用程序集成到更大的Ubuntu系统中的最大挑战是Qt目前与dconf不兼容。

什么是dconf,它在Ubuntu中扮演的角色是什么?

介绍

正如本网站上的其他答案一起讨论gconfdconf ,我将集中讨论用于访问dconf数据库的命令行工具,如gsettings和gui dconf-editor

在GNOME官方网站上注意到

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

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

将所有密钥集成在一个紧凑的二进制格式中也可以避免目前xml-files目录树方法遇到的严重碎片问题。

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 (在12.04中):

通过软件中心安装

或者通过跑步

 sudo apt-get install dconf-tools 

然后通过进入终端或快速启动菜单dconf-editor运行它。

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

在此处输入图像描述

您还可以通过在下面的屏幕截图中添加[‘/var/log/auth.log’,var ….’]forms的路径,向log-viewer添加另一个日志。

在此处输入图像描述

结论

还有许多其他有用的方法可以使用gsettingsdconf-editor调整设置,并且它们很容易使用。 值得仔细查看它们是否存在不在程序首选项中的选项,因为您可以按照自己的方式自定义程序。 正如最近在这个问题上展示的化石自由

  • 如何编辑Rhythmbox中的音乐库位置列表?

知道如何使用gsettingsdconf-editor非常有价值。 也可以看看:

  • 我如何使用gconf编辑器?

对于那些来自需要简单回复的窗口的人来说,dconf是相当于windows注册表的gnome …一个大的二叉树,任何程序都可以存储和共享他们的配置。

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

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

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