컨피규레이션

dconf
컨피규레이션
Dconf-editor-icon-gnome-3.12.png
dconf editor
Arch Linux에서 실행되는 dconf Editor 스크린샷
개발자GNOME 프로젝트 (Allison Lortie)
초기 릴리즈2009년 9월 16일, 12년 전(2009-09-16)
안정된 릴리스
2021년[1] 3월 13일 0.40.0, 16개월 전 (3월 13일)
저장소
기입처C
유형구성, 설정 관리
면허증.GNU 약소 일반 공중 사용 허가서
웹 사이트wiki.gnome.org/Projects/dconf
GNOME Tweak Tool은 데스크톱 설정의 일반적인 서브셋에 대한 액세스를 제공합니다.

dconf는 저레벨 설정 시스템 및 설정 관리 도구입니다.주요 목적은 아직 구성 스토리지 시스템이 없는 플랫폼에서 GSetting백엔드를 제공하는 것입니다.GLib에 따라 다릅니다.GNOME 3의 일부이며 GConf를 대체하는 것입니다.

개요

dconf는 간단한 키 기반 설정 시스템입니다.키는 구조화되지 않은 데이터베이스에 존재합니다(단, 논리적으로 함께 속하는 키는 함께 그룹화됩니다).

변경 통지가 지원됩니다.

여러 구성 소스의 스태킹이 지원됩니다.필수 키가 지원됩니다.

스태킹은 "마운트 포인트"에서 실행할 수 있습니다.예를 들어, 글로벌 시스템 구성은 다음과 같이 마운트할 수 있습니다./system/ 각 사용자의 구성 공간 내에 있습니다.단일 구성 소스가 계층의 여러 지점에 나타날 수 있습니다.를 들어, /user/에서 일반 키 위에 스택할 뿐만 아니라 시스템 정책 설정 유틸리티에 의한 검사 및 변경을 위해 시스템 기본 키가 /default/에 표시될 수도 있습니다.

일반 사용자가 일시적으로 /system/(또는 /default/) 아래의 키에 쓸 수 있도록 PolicyKit 통합이 계획되어 있습니다., GNOME Display Manager 구성 유틸리티와 같은 프로그램을 더 이상 루트로 실행할 필요가 없습니다.

소프트웨어 아키텍처

일반적인 GNOME 로그인은 수천 개의 읽기와 0개의 쓰기로 구성되므로 dconf는 읽기에 최적화되어 있습니다.일반적으로 dconf에서 키를 읽으면 시스템콜이 제로, 컨텍스트스위치가 제로입니다.이것은 dconf 내의 데이터의 스토리지 형식과 클라이언트와 서버 간의 IPC 메커니즘의 양쪽 모두를 겸비한 심플한 파일 형식으로 실현됩니다.

Avoiding round trips and context switches is desirable in itself, but the real advantage[citation needed] comes from allowing the I/O scheduler in the kernel to do a better job by saturating it with requests coming from all of the applications trying to read their keys (as opposed to a common configuration server serially requesting a single key at한번 cm이다.

모든 키를 콤팩트한 바이너리 포맷으로 하는 것으로, 현재 Tree-of-directories-of-xml-files 어프로치에 의해서 발생하고 있는 중대한 플래그멘테이션의 문제도 회피할 수 있습니다.

dconf Architecture
dconf 아키텍처

쓰기는 덜 최적화되어 버스를 통과하며 일반적인 방법으로 "라이터" 즉 D-Bus 서비스에 의해 처리됩니다.변경 통지도 작성자가 처리합니다.버스 서비스를 하는 이유는 고객이 쓰기 동기화가 매우 [citation needed]어렵기 때문입니다.

첫 번째 쓰기 작업이 수행될 때까지 쓰기 서비스를 활성화할 필요가 없습니다.

서비스는 완전히 스테이트리스이며 동적으로 시작 및 중지할 수 있습니다.개개의 클라이언트가 관여하는 변경 통지 리스트는 버스 데몬에 의해 유지됩니다(D-Bus 신호 감시/일치 리스트).

dconf 데이터베이스

하나의 dconf 데이터베이스는 텍스트 파일이 아닌 이진 형식의 단일 파일로 구성됩니다.형식은 gvdb(GVariant Database 파일)로 정의됩니다.이것은 검색에 매우 효율적인 방법으로 문자열에서 GVariant 값으로 매핑을 저장하는 단순한 데이터베이스 파일 형식입니다.

각 사용자의 GNOME 데이터베이스 파일은 기본입니다.~/.config/dconf/user파일은 GVDB 형식이어야 합니다.

G바리안트

GVariant는 dconf에 저장되어 있는 모든 값에 사용되는 강력한 유형의 바리안트 데이터 유형입니다.값 유형에 대한 정보와 함께 하나 이상의 값을 포함할 수 있습니다.

GVariant에는 정수나 부울값과 같은 단순한 유형이나 2개의 문자열 배열이나 키 값 쌍의 사전과 같은 복잡한 유형이 포함될 수 있습니다.GVariant는 또한 불변합니다.GVariant가 생성되면 유형도 내용도 더 이상 변경할 수 없습니다.GVariant는 DBus에서 메서드 파라미터를 전송하거나 GSetting을 사용하여 설정을 저장할 때 등 데이터를 시리얼화할 필요가 있을 때 유용합니다.

GVariant는 GLib의 일부입니다.

GSettings(게시판)

GSettings 클래스는 응용 프로그램에서 자체 설정을 저장 및 검색하기 위한 고급 API를 제공합니다.

유틸리티 프로그램/usr/bin/gsettingslibglib2.0-bin에 포함되어 있습니다.

GSettings는 GLib의 일부인 [2]GIO의 일부입니다.libglib 2.0-0

문서

dconf용 시스템 관리자 가이드를 이용할 수 있습니다.버전 0.2 이후 dconf는 LGPL 버전 2.1 이후 라이선스가 됩니다.

역사

릴리스 이력

버전 발매일 대폭적인 변경
0.1 2009-09-18
0.2 2009-10-27
0.3 2010-05-25
0.4 2010-07-12
0.5 2010-09-15
0.6 2010-12-21
0.7 2011-05-09
0.8 2011-07-26
0.9 2011-09-19
0.10 2011-09-26
0.11 2012-03-19
0.12 2012-05-01
0.13 2012-08-20
0.14 2012-11-01
0.15 2013-02-11
0.16 2013-07-16
0.17 2013-09-16
0.18 2013-09-23
0.19 2014-03-17
0.20 2014-03-24 dconf 컴파일: 항상 little endian을 씁니다.
0.21 2014-07-22
0.22 2014-09-19
0.23 2015-03-16 dconf-module을 다른 패키지로 분할하다
0.24 2015-03-23
0.25 2015-12-16
0.26 2016-03-23 libdbus-1 백엔드가 삭제되었습니다.dconf는 항상 GDBus를 사용합니다.
0.27 2017-10-17 포트와 중간 빌드 시스템(#784910)

레퍼런스

  1. ^ "Release 0.40.0". 13 March 2021. Retrieved 10 April 2021.
  2. ^ "gio/gsettings.c · master · GNOME / GLib". GitLab. Retrieved 22 April 2018.

외부 링크