![glib 애플리케이션이 다른 경로에서 "패턴"을 찾도록 만드는 방법은 무엇입니까?](https://linux55.com/image/13710/glib%20%EC%95%A0%ED%94%8C%EB%A6%AC%EC%BC%80%EC%9D%B4%EC%85%98%EC%9D%B4%20%EB%8B%A4%EB%A5%B8%20%EA%B2%BD%EB%A1%9C%EC%97%90%EC%84%9C%20%22%ED%8C%A8%ED%84%B4%22%EC%9D%84%20%EC%B0%BE%EB%8F%84%EB%A1%9D%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
./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에게 감사드립니다.