앱의 사용자 설정을 어디에 저장합니까?


12

응용 프로그램에서 몇 가지 설정을 저장하려면 응용 프로그램을 닫을 때 유지되는 설정을 어디에 저장해야합니까?

나는 복잡한 것을 말하지 않습니다 : 두 개의 부울과 문자열 (앞으로는 더 복잡한 설정을 저장하고 싶을 수도 있습니다)

나는 gconf, dconf, gsettings 등을 언급했다. "선호"방법은 무엇입니까? 바람직하게는 파이썬에서 좋고 쉬운 것입니다.


답변:


9

gconf더 이상 사용되지 않으므로 새 프로젝트에서는 사용하지 않을 것입니다. dconf응용 프로그램 개발자는 일반적으로 설정을 저장하지 않아도 설정을 저장하는 백엔드입니다.

당신이 필요로 gsettings하는 것은 실제로 저장된 방법 / 위치를 신경 쓰지 않고 설정을 저장 / 검색 하는 고급 API ( C 용 API 문서 )입니다. gsettings의 일부 gio그놈 (같은 코어 패키지 중 하나, glibgobject). 이 블로그 게시물 은 Python에서 블로그 를 사용하는 방법을 간략하게 소개합니다.

의존성을 원하지 않고 gio(예 : 그놈 응용 프로그램을 개발하지 않고) 간단한 구성 파일을 저장 하려면 freedesktop 사양에 따라 대신 $HOME/.config디렉토리 (또는에 의해 정의 된 디렉토리) 를 사용하는 것이 좋습니다 .$XDG_CONFIG_DIRS$HOME/.your_appname


블로그 게시물에 대한 링크가 종료 된 것 같습니다. 다른 기회가 있습니까?
세스

@Seth 불행히도 내가 링크 한 블로그 게시물을 더 이상 사용할 수없는 것 같습니다. 링크를 다른 블로그 게시물에 대한 링크로 교체했으며 좋은 시작점이기도합니다.
Marcel Stimberg 12

10

응용 프로그램이 시스템 전체에서 실행

설정을 저장할 적절한 장소는 다음과 같습니다.

/etc/[application]/

여기서 서브 디렉토리는 선택적입니다.


응용 프로그램은 사용자 모드로 실행 됩니다

설정은 사용자 HOME에, 가급적이면 숨겨진 디렉토리에 저장해야합니다.

/home/<user>/<.application>/

데비안 FHS 도 참조하십시오 .


X-Desktop 에서 실행되는 응용 프로그램

X-Desktop 응용 프로그램 (예 : GNOME, KDE, Unity, Xfce)은 다음 파일 위치가 로컬 변수로 정의 된 XDG 기본 디렉토리 사양을 참조해야 합니다.

  • $XDG_DATA_HOME사용자 특정 데이터 파일을 저장해야하는 기준 디렉토리를 정의합니다. $ XDG_DATA_HOME이 설정되지 않거나 비어 있지 않으면 $ HOME / .local / share와 같은 기본값을 사용해야합니다.

  • $XDG_CONFIG_HOME사용자 특정 구성 파일을 저장해야하는 기준 디렉토리를 정의합니다. $ XDG_CONFIG_HOME이 설정되어 있지 않거나 비어 있지 않은 경우 $ HOME / .config와 같은 기본값을 사용해야합니다.

  • $XDG_DATA_DIRS$ XDG_DATA_HOME 기본 디렉토리 외에 데이터 파일을 검색하기 위해 기본 설정 순서의 기본 디렉토리 세트를 정의합니다. $ XDG_DATA_DIRS의 디렉토리는 콜론 ':'으로 구분해야합니다.

  • If $XDG_DATA_DIRS 이 설정되어 있지 않거나 비어 있지 않으면 / usr / local / share / : / usr / share /와 같은 값을 사용해야합니다.

  • $XDG_CONFIG_DIRS$ XDG_CONFIG_HOME 기본 디렉토리 외에 구성 파일을 검색하기 위해 기본 설정 순서의 기본 디렉토리 세트를 정의합니다. $ XDG_CONFIG_DIRS의 디렉토리는 콜론 ':'으로 구분해야합니다. $ XDG_CONFIG_DIRS가 설정되어 있지 않거나 비어 있지 않으면 / etc / xdg와 같은 값을 사용해야합니다.


아니요, /home/<user>/.config/application/에 있어야합니다.
Anonymous

@Anonymous : 이것에 대한 참조가 있으면 좋을 것입니다. 현재 데비안 정책 은 응용 프로그램이 사용자의 홈에있는 도트 파일 (또는 디렉토리)에 사용자 설정을 저장 하도록 권장 되는 것을 제외 하고 FHS 2.3을 요구합니다 .
Takkat

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.