标签: gsettings

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

Mark Shuttleworth最近在博客中谈到了在 11.10 版本中包含 Qt 库的决定,Jono Bacon对此进行了跟进。Mark 表示,将用 Qt 编写的应用程序集成到更大的 Ubuntu 系统中的最大挑战是 Qt 当前与 dconf 不兼容。

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

gsettings dconf

91
推荐指数
3
解决办法
15万
查看次数

Gconf、Dconf、Gsettings以及它们之间的关系

我试图了解 Gconf、Dconf 和 Gsettings 的工作原理以及它们之间的关系。

我所知道的是:

  • Gconf - 基于 XML 的数据库(后端系统)。年纪较大的。
  • Dconf - 基于 BLOB 的数据库(后端系统)。较新的一个。
  • Gsettings - 用于编辑设置的 CLI 工具。看起来它只适用于 Dconf(尽管我在某处看到它可能适用于 Gconf)。

我知道对于 Gconf 有一个 GUI - Gconf-editor,对于 Dconf - Dconf-editor。

所以:

  1. 哪个后端系统更常用——Dconf 还是 Gconf?
  2. Gsettings 可以同时使用它们吗?为什么它不显示所有 Dconf 模式?
  3. Dconf 在哪里保存它的数据?

gconf gsettings dconf

85
推荐指数
2
解决办法
3万
查看次数

在 Ubuntu 18.04 上关闭错误声音

如何在 Ubuntu 18.04 中关闭 Ubuntu 错误声音(尤其是在终端上)?

system settings gsettings 18.04

76
推荐指数
4
解决办法
5万
查看次数

如何查看使用 grep 过滤的输出?

我想看输出的变化

gsettings list-recursively|grep text-scal
Run Code Online (Sandbox Code Playgroud)

这是

org.gnome.desktop.interface text-scaling-factor 1.0  
com.canonical.Unity.Interface text-scale-factor 1.0
Run Code Online (Sandbox Code Playgroud)

但如果我试着用

watch gsettings list-recursively|grep text-scal
Run Code Online (Sandbox Code Playgroud)

我没有输出,因为管道似乎是问题所在。

我怎样才能看到变化?

command-line grep gsettings watch-command

53
推荐指数
1
解决办法
3万
查看次数

GSettings/dconf 的图形编辑器?

是否有等效于 GSettings/dconf 的 gconf-editor?

我知道我可以gsettings set ...在命令行上使用,但这有点不方便(尤其是对于列表类型)。

gsettings dconf

52
推荐指数
1
解决办法
6万
查看次数

dconf-editor 和 gsettings 不应该访问同一个数据库吗?

这基本上是一个“学术”问题——试图更好地理解配置系统的内部结构。

我知道dconf系统是gnome3中的新配置系统,它取代了(已弃用的)gconf;这一点从Gconf、Dconf、Gsettings 以及它们之间的关系就很清楚

在我看来,程序gsettingsdconf-editorwhere 只是两种不同的方式来访问同一个dconf数据库,这在什么是 dconf,它的功能是什么,我如何使用它中得到了证实

编辑:我发现有人注意到它在某些架构名称中的大小写有所不同,请参见此处 --- dconf 架构名称是否区分大小写?; 但似乎差异不仅限于此。在一个答案中有一个不匹配的例子,但我没有找到原因的解释

但是最近我发现从gsettings和访问的密钥dconf-editor不一样。例如,对于设置vinodconf-editororg.gnome.desktop.remote-access(见下面的截图),而在gsettings它们是下 org.gnome.Vino。有一些文档可以解释差异吗?

gsettings 中

(0)samsung-romano:~/tmp/try% gsettings list-recursively org.gnome.Vino
org.gnome.Vino alternative-port uint16 5900
org.gnome.Vino authentication-methods ['none']
org.gnome.Vino disable-background false
[...]
Run Code Online (Sandbox Code Playgroud)

和:

(0)samsung-romano:~/tmp/try% gsettings list-recursively org.gnome.desktop.remote-access
No such schema 'org.gnome.desktop.remote-access'
Run Code Online (Sandbox Code Playgroud)

但是在dconf-editor 中

dconf-编辑器

gnome unity gsettings dconf system-settings

40
推荐指数
1
解决办法
2万
查看次数

如何通过远程 shell 更改 Gsettings?

我需要通过 Puppet、虚拟终端或 ssh 自动化桌面配置。

不幸的是,gsettings通过 ssh 或虚拟终端调用会给出:

gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ hsize "4"

(process:29520): dconf-WARNING **: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY
Run Code Online (Sandbox Code Playgroud)

当我$DISPLAYexport DISPLAY=:0.0它设置时会出现另一个错误:

(process:29862): dconf-WARNING **: failed to commit changes to dconf: Could not connect: Connection refused
Run Code Online (Sandbox Code Playgroud)

我能做什么?

remote-access gsettings dconf puppet remote-login

29
推荐指数
1
解决办法
5万
查看次数

基于 GUI 的应用程序是否在后台执行 shell 命令?

两天前,我从 Windows 迁移到了 Ubuntu 16.04。我喜欢我们可以自定义 Unity 桌面的方式。我只是在玩弄桌面环境的外观和感觉。就像在 Windows 中一样,我希望启动器位于屏幕底部。在谷歌上,我发现了一个命令,它是这样的:

gsettings set com.canonical.Unity.Launcher launcher-position Bottom
Run Code Online (Sandbox Code Playgroud)

此外,还有用于完成工作的 unity-tweak-tool 和 dconf 编辑器。但这些是完成工作的 GUI 方法。

我的问题是:

  • 这些基于 GUI 的应用程序是否也在后台执行相同的命令?
  • 如何窥视这些应用程序的内部工作?我的意思是,有没有办法实际查看每次单击按钮时正在执行的命令?
  • 这些应用程序是否在后台打开终端并执行这些命令?

这里的答案告诉了如何获取进程的标准文件描述符。但是,我没有在输出中得到任何东西。

此外,该strace -p pid -o output.txt命令会向文件中抛出大量文本。

那么,简而言之,使用 GUI 应用程序做事与从命令行做事是一样的吗?

command-line unity launcher gsettings dconf

29
推荐指数
2
解决办法
5068
查看次数

如何关闭 Ubuntu Dock 的点击最小化选项?

我正在使用 Ubuntu 18.04 并使用此命令

gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'
Run Code Online (Sandbox Code Playgroud)

通过单击图标打开 Dock 上的最小化。如何恢复并关闭此功能?

因为如果打开多个窗口,它会刺激浏览器。如何从此设置中排除浏览器和/或如何恢复系统范围?

dock gsettings minimize gnome-shell ubuntu-dock

28
推荐指数
3
解决办法
9603
查看次数

我的 dconf/gsettings 安装坏了。如何在不重新安装 Ubuntu 的情况下修复它?

我在 VirtualBox 中运行 Ubuntu 12.04.1 LTS x64。在一次非常不幸的误点击(重置保存状态而不是加载保存状态)之后,我遇到了一个非常烦人的问题。

几乎所有应用程序(unity、synaptic、gedit 等)都会在启动时打印:

Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
Run Code Online (Sandbox Code Playgroud)

并且所有 GUI 设置都在重新启动后重置。

另一个症状:

$ GSETTINGS_BACKEND=dconf dconf-editor
(dconf-editor:2353): GLib-GIO-WARNING **: Can't find module 'dconf' specified in GSETTINGS_BACKEND
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications
Run Code Online (Sandbox Code Playgroud)

/usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so存在。


我尝试过的(并没有帮助):

  • sudo apt-get install -f --reinstall dconf-tools libdconf0 libdconf-dbus-1-0 dconf-service
  • 从来源和构建dconf-0.5make install
  • 创建空的用户配置文件并在那里启动程序

我必须保留当前的 ​​Ubuntu 安装,因此完全重新安装对我来说不是一个选择。 …

gsettings dconf

25
推荐指数
3
解决办法
3万
查看次数