glib 애플리케이션이 다른 경로에서 "패턴"을 찾도록 만드는 방법은 무엇입니까?

glib 애플리케이션이 다른 경로에서 "패턴"을 찾도록 만드는 방법은 무엇입니까?

./opt/myapp/usr/share/glib-2.0/schemas

스키마 파일을 다른 곳에서 찾도록 애플리케이션에 어떻게 지시합니까?

노트:

  • 런타임 솔루션은 컴파일 타임 솔루션보다 선호됩니다.
  • meson을 사용하여 빌드된 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에게 감사드립니다.

관련 정보