我对 Linux GUI 编程还很陌生,正在努力理解 GSettings 和架构。

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

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



现在,如果我首先通过运行 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

关于linux - 如何为 Gnome 和 Gtk 配​​置 GSettings,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37454358/

10-16 01:01