Gconf, Dconf, Gsettings와 그 관계


65

Gconf, Dconf 및 Gsettings의 작동 방식과 그 관계가 무엇인지 이해하려고합니다.

내가 아는 것은 :

  • Gconf -XML 기반 데이터베이스 (백엔드 시스템) 오래된 것.
  • Dconf -BLOB 기반 데이터베이스 (백엔드 시스템) 새로운 것.
  • Gsettings- 설정을 편집하는 CLI 도구입니다. Dconf에서만 작동하는 것 같습니다 (Gconf에서 작동 할 수있는 곳을 보았지만).

Gconf에는 GUI-Gconf-editor와 Dconf-Dconf-editor가 있다는 것을 알고 있습니다.

그래서:

  1. Dconf 또는 Gconf 중 어떤 백엔드 시스템이 더 자주 사용됩니까?
  2. Gsettings는 둘 다 작동합니까? 왜 모든 Dconf 스키마가 표시되지 않습니까?
  3. Dconf는 데이터를 어디에 저장합니까?

특히 어떤 도구 (dconf 또는 gsettings)가 어떤 설정을 처리하고 차이가 있는지에 관심이 있습니까?
Johsm

답변:


38

GConf는 더 이상 사용되지 않습니다. 이전 GNOME 2.x 구성 API 및 시스템이며 최신 버전에서는 DConf / GSettings로 대체되었습니다. 그러나 일부 응용 프로그램에서는 여전히 사용합니다.

GSettings는 DConf의 GLib 구현으로, 데이터를 이진 데이터베이스에 저장합니다.

gsettings명령 줄 도구는 단순히 기존의 것과 같은 방식으로는 GSettings API를 통해 설정에 액세스하거나 수정하는 도구입니다 gconftool명령 행 도구 GConf를위한 것입니다.


1
GSettings는 GConf에서도 작동합니까?
idgar

3
아니요, GSettings는 DConf 사양의 구현입니다. 명령 줄 도구는 gconf에서 작동하지 않습니다. 그러나 현재 우분투에서 사용중인 일부 호환성 레이어가 있습니다. 여기서 gsettings 또는 gconf에서 설정을 변경하면 변경 사항이 다른 것으로 전파됩니다. 이것은 일반적이지 않으며 의존 할 것이 아닙니다.
dobey

또 다른 점은 GSettings가 구성 파일과 작동하는 곳을 보았습니다. 그것에 대해 뭔가가 있습니까? 왜 GSettings에 DConf-editor와 동일한 스키마가 표시되지 않습니까?
idgar

1
흥미로운 부분은 어떤 도구가 어떤 설정을 관리하는지에 대한 것입니다. dconf 또는 dconf-editor를 사용할 때 존재하는 키는 gsettings로 액세스 할 수있는 키와 다릅니다. 우분투 15.04에서.
Johsm

1
@dobey : 도와 주셔서 감사합니다. 내가 진짜로하고 싶은 것은 : dconf에서 사용해야하는 키와 gsettings와 함께 사용해야하는 키 간의 매핑은 어떻게 작동합니까? 내가 알고 있다면, 다른 것을 찾는 알고리즘적인 방법이 있습니까? 구체적인 경우에는 / com / canonical / unity / always-show-menus를 받았습니다. 이제 gsets에 적합한 키를 어떻게 찾을 수 있습니까? 둘 다 동일한 기본 데이터를 사용하는 경우 논리적 매핑이 없어야합니까? 아니면 여전히 뭔가 빠졌습니까?
Johsm

43

Dconf 는 구성을 저장하도록 설계된 데이터 저장소입니다. 동일한 목적으로 사용 된 Gconf를 대체합니다 . 결국 어떤 프로그램도 더 이상 Gconf에 의존해서는 안됩니다.

Gsettings 는 구성 저장소 백엔드를 읽고 쓰는 데 사용되는 개발 라이브러리입니다. Linux에서는 Dconf를 사용하지만 Windows에서는 레지스트리를 사용하고 OS X에서는 기본 데이터 저장소를 사용합니다.

응용 프로그램 개발자와 최종 사용자는 Dconf가 아닌 Gsettings를 직접 사용하는 것이 좋습니다.

또한보십시오:

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