dconf 转储输出和 gsettings 模式之间的映射

Ste*_*ton 8 gnome gsettings dconf ubuntu-mate

例如 :

dconf dump / | grep mouse
[org/mate/desktop/peripherals/mouse]
....
Run Code Online (Sandbox Code Playgroud)

因此,如果我想根据此输出创建 gsettings 命令,我会使用 gsettings 来列出架构,但是....

(输出编辑为仅包括可能的候选人):

gsettings list-schemas | grep mouse
....
org.mate.peripherals-mouse
org.gnome.desktop.peripherals.mouse
org.mate.SettingsDaemon.plugins.mouse
....
Run Code Online (Sandbox Code Playgroud)

所以我不清楚我应该使用哪些鼠标模式。我的理解是 gsettings 是 dconf 数据库的命令行界面,但 gsettings 数据和 dconf 数据之间没有明确的对应关系——据我所知。

有人可以解释或指出我的解释性文件。谢谢。

Ser*_*nyy 5

通常,通过用点替换斜杠,dconf模式可以很好地转换为gsettings模式,反之亦然。

在您的示例中,org.mate.peripherals-mouse是与我期望的静态模式最接近的匹配。

然而,并非所有gsettings模式都能很好地转换。有一种称为可重定位架构的东西:

当您需要相同配置的多个实例并单独存储时,您需要可重定位架构。一个典型的例子是帐户:您的应用程序允许创建多个帐户,并且每个帐户都具有与其关联的相同类型的配置信息。

对于这种情况,模式还需要添加特定的路径。例如

gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ dash-blur-experimental 1
Run Code Online (Sandbox Code Playgroud)

这是 Budgie 桌面架构之一的另一个示例:

$ dconf write /com/solus-project/budgie-panel/panels/{5f6251f2-9d09-11e8-be4b-d053493d53fd}/size 52
$ gsettings set com.solus-project.budgie-panel.panel:/com/solus-project/budgie-panel/panels/{5f6251f2-9d09-11e8-be4b-d053493d53fd}/ size 52
Run Code Online (Sandbox Code Playgroud)

通常,可重定位gsettings模式的路径与 for 相同dconf,但据我所知并不能保证这一点。手动方式是运行dconf watch /并使用 GUI 按钮/滑块/首选项菜单来确定哪些模式受这些按钮/滑块/首选项菜单的控制。