3

我对 Linux GUI 编程相当陌生,并且正在努力理解 GSettings 和 Schemas。

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

但是,当我尝试从该终端启动我自己的 Gtk 应用程序时,单击文件选择器按钮时出现错误:

org.gtk.Settings.FileChooser 不包含名为“启动模式”的键

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

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

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

4

1 回答 1

3

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

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

$XDG_DATA_DIRS=/usr/gnat/share:/usr/share
于 2016-06-03T07:14:07.053 回答