如何为 Gnome 和 Gtk 配​​置 GSettings

How to configure GSettings for Gnome and Gtk

我是 Linux GUI 编程的新手,正在努力理解 GSettings 和 Schemas。

如果我启动一个终端 运行 gsettings list-schemas 我会看到一长串用于各种 Gnome 应用程序的模式。我还可以从终端启动 gedit 等应用程序。

但是,当我尝试从此终端启动我自己的 Gtk 应用程序时,我在单击“文件选择器”按钮时收到错误消息:

org.gtk.Settings.FileChooser does not contain a key named 'startup-mode'

现在,如果我首先通过 运行 设置 GNAT GPS gtkada-env.sh 配置我的 GNAT 开发环境,那么我的应用程序 运行 就会正确。 gsettings list-schemas 现在有一些模式的简短列表,但确实包括一个用于文件选择器按钮的模式。现在唯一的事情是我不能再从这个环境中启动 gedit,因为它缺少模式。

我的应用程序需要能够打开文件(文件选择器按钮)并启动 gedit 以查看文本日志文件。如何将所有 GSettings 配置为一起可用?

gtkada-env.sh 设置环境变量 $GSETTINGS_BACKEND=memory 是否相关?我在配置 GNAT 环境之前和之后都执行了 printenv,但看不到专门指向 schemas 目录的环境变量。

我在 GIO 参考手册中找到了这个问题的答案here

gtkada-env.sh 脚本将环境变量 $XDG_DATA_DIRS 设置为 GNAT 模式路径 /usr/gnat/share。我更改了此变量以也包含原始模式路径:

$XDG_DATA_DIRS=/usr/gnat/share:/usr/share