我已经构建并安装了一个使用 Glib-2.0 的应用程序到/opt/myapp
.但是,当我运行它时,它会在/usr/share/glib-2.0/schemas
.
如何告诉应用程序在其他地方查找架构文件?
笔记:
- 运行时解决方案比编译时解决方案更可取。
- 它是 nemo 4.8.6,使用介子构建。
- 该发行版是 Devuan GNU/Linux Beowulf。
答案1
有一个环境变量控制 Glib 搜索“设置模式”的位置:GSETTINGS_SCHEMA_DIR
。所以,执行:
export GSETTINGS_SCHEMA_DIR="/opt/myapp/share/glib-2.0/schemas:${GSETTINGS_SCHEMA_DIR}"
(假设这是您的应用程序的架构文件所在的位置)。
一个更“直接”的替代方案是添加环境变量的路径,但可能会解决其他一些问题XDG_DATA_DIRS
;这些路径特别用作搜索模式的根。所以:
export XDG_DATA_DIRS="/opt/myapp/share/:${XDG_DATA_DIRS}"
感谢@steeldriver 的评论。