dconf 란 무엇이며 기능은 무엇이며 어떻게 사용합니까?


78

Mark Shuttleworth는 최근 Jono Bacon 의 후속 조치 와 함께 11.10 릴리스에 Qt 라이브러리를 포함하기로 한 결정에 대해 블로그 를 작성했습니다 . Mark는 Qt로 작성된 앱을 더 큰 Ubuntu 시스템에 통합하는 데있어 가장 큰 과제는 Qt의 현재 dconf와의 비 호환성입니다.

dconf 란 무엇이며 우분투에서 어떤 역할을합니까?


답변:


88

소개

이 사이트의 다른 답변에 대해 논의 gconf하고 dconf함께 논의 할 때 데이터베이스 에 액세스하는 데 사용되는 gsettingsGUI와 같은 명령 줄 도구에 대해서만 설명하겠습니다 .dconf-editordconf

에서 그놈의 공식 웹 사이트 는 것을 알 수있다

dconf는 저수준 구성 시스템입니다. 주요 목적은 구성 스토리지 시스템이없는 플랫폼에서 GSettings에 백엔드를 제공하는 것입니다.

dconf는 간단한 키 기반 구성 시스템입니다. 키는 비정형 데이터베이스에 존재하지만 논리적으로 함께 속하는 키는 함께 그룹화됩니다.

하나의 컴팩트 바이너리 형식으로 모든 키를 사용하면 현재 디렉토리 디렉토리 XML 파일 접근 방식에서 발생하는 심각한 조각화 문제를 피할 수 있습니다.

dconf는 읽기에 최적화되어 있습니다. 일반적으로 dconf에서 키를 읽으려면 시스템 호출이없고 컨텍스트 스위치가 없습니다. 쓰기는 덜 최적화되어 있습니다. 버스를 통과하고 일반적인 방식으로 "작성자"(DBus 서비스)가 처리합니다.

gsettings설정을보고 변경하는 데 사용

일단 알게되면 gsettingsgui만큼 쉬울 수 있습니다 dconf-editor. 옵션은 Ubuntu 맨 페이지 온라인man gsettings 또는 온라인으로 이동하여 나열 할 수 있습니다 .

참고 : 모든 시스템에 서로 다른 프로그램이 설치되어 있기 때문에, 많은 그놈 프로그램과 함께 XUbuntu XFce를 사용하고 있으므로 실험 할 때 내가 선택한 특정 항목을 다른 항목으로 대체해야 할 수도 있습니다.

사용 가능한 모든 스키마를 나열하려면 다음을 입력하십시오.

gsettings list-schemas

모든 키를 포함하려면 다음을 입력하십시오.

gsettings list-recursively

그러나 예를 들어 일반적으로 원하는 것을 지정하는 것이 더 쉽습니다.

gsettings list-schemas | grep -i shotwell

긴 목록을 반환합니다. 나는 그것을 단축했다 :

org.yorba.shotwell
org.yorba.shotwell.preferences.ui
org.yorba.shotwell.preferences.slideshow
org.yorba.shotwell.plugins.enable-state
org.yorba.shotwell.printing
org.yorba.shotwell.preferences.editing
org.yorba.shotwell.preferences.files

관심있는 스키마를 찾았 으면 키를

gsettings list-keys org.yorba.shotwell.preferences.ui

이것은 목록을 반환합니다 (다시 단축했습니다).

background-color
display-basic-properties
display-extended-properties
display-photo-ratings
display-photo-tags
display-photo-titles
event-photos-sort-ascending
event-photos-sort-by

하나를 선택하고 현재 값이 무엇인지 확인하십시오

gsettings get org.yorba.shotwell.preferences.ui display-photo-tags

이것은 true 값을 반환하므로 반대로 사용하려면

gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false

이들은 사소한 예,하지만 키와 값을 식별하여 변경하는 방법을 기본적으로 보여줍니다 gsettings.

dconf-editor를 사용하여 설정 변경

GUI 프로그램 dconf-editor여기 를 클릭 하거나 다음을 실행 하여 dconf-tools 패키지 와 함께 설치됩니다

sudo apt-get install dconf-tools

그런 다음 터미널이나 빠른 실행 메뉴에 입력하여 실행하십시오 dconf-editor.

스크린 샷에서 볼 수 있듯이 모든 다양한 스키마를 왼쪽에서 확장하고 적절한 키를 선택할 수 있습니다. 원하는 값 (이 경우 gnome-mplayer기본 설정) 으로 이동하는 것이 매우 간단합니다 . 확인란을 클릭하여 값을 활성화하거나 다른 상자 중 하나에 숫자 값을 추가 할 수 있습니다. Ctrl+ F키보드 단축키를 사용 하여 dconf 편집기 내에서 검색 할 수도 있습니다 .

여기에 이미지 설명을 입력하십시오

log-viewer아래 스크린 샷에서 [ '/var/log/auth.log', var .... '] 형식의 경로를 추가하여 다른 로그를 추가 할 수도 있습니다 .

여기에 이미지 설명을 입력하십시오

결론

이 당신이 모두 설정을 조정할 수있는 많은 다른 유용한 방법입니다 gsettings그리고 dconf-editor그들은 사용하기 간단합니다. 원하는 방식으로 프로그램을 사용자 정의 할 수 있기 때문에 프로그램 기본 설정에없는 옵션이 있는지 확인하는 것이 좋습니다. fossfreedom이 최근 에이 질문에서 보여준 것처럼

사용 방법을 알고 gsettings있거나 dconf-editor매우 귀중합니다. 또한보십시오:


5
프로그램 gsettings과 데이터베이스 dconf-editor모두에서 작동하므로 dconf동일한 정보를 표시하지 않는 이유는 무엇입니까? gsetting12.04에 스키마 com.canonical.Unity.Launcher와 키에 대한 값이 표시 favorites되지만 전체 스키마 나 키를 dconf-editor제공하지는 않습니다 com.canonical.Unity.
AH

@AH : 좋은 질문입니다. 나는 여기에 그것을 물었다 : askubuntu.com/q/243409/2355
Flimm

@AH 귀하의 의견에 대한 답변을 잊어 버려 죄송합니다. Xubuntu를 사용하고 있기 때문에 Unity에 대해서는 언급 할 수 없지만 Flimm은 좋은 답변을 얻을 수있는 별도의 질문을했습니다.

4
그러나 dconf가 GUI 툴킷 인 Qt와 호환되지 않는 것은 무엇입니까?
Salman von Abbas

RHEL / CentOS yum install dconf-editor에서는 GUI 도구를 설치하는 데 사용 합니다.
Mark Edington

26

간단한 응답을 원하는 창에서 오는 사람들에게 dconf는 Windows 레지스트리와 동등한 그놈입니다. 모든 프로그램이 구성을 저장하고 공유 할 수있는 큰 이진 트리입니다.

먼저 기존 유닉스 구성 (각 앱마다 하나의 텍스트 파일, 자체 형식)을 gconf에서 관리하는 표준 XML 파일 트리로 마이그레이션했습니다. 최근에는 XML 파일을 직접 편집 한 사람이 거의없고 MANY 파일을 읽고 구문 분석 할 때 발생하는 성능 문제 때문에 gconf에서 dconf로 마이그레이션하여 이진 형식으로 마이그레이션했습니다.

Windows 레지스트리와 달리 dconf에는 기본값으로 설정되어 있어도 모든 구성 항목이 나열되어 있어야합니다. 따라서 숨겨진 항목이 없으므로 쉽게 변경하거나 다시 기본값으로 재설정 할 수 있습니다.


10

dconf는 우분투 전용이 아니며 응용 프로그램 설정을 저장하는 데 사용되는 그놈 기술입니다. 자세한 내용은 http://live.gnome.org/dconf를 참조하십시오


dconf와 gconf의 관계는 무엇입니까?
psusi

10
dconf는 gconf를위한 GNOME3 대체물이며 한동안 유지되지 않았습니다. dconf는 gconf보다 성능이 향상 될 것으로 예상됩니다 (응용 프로그램 시작과 관련됨).
João Pinto

1
의 질문 psusi 의 코멘트 위 부분적으로 질문 "에 대한 답변에 대한 답변 왜 dconf 및 GConf를?에 대한 논쟁 ". 나는 psusi 가 그 질문에 대해 언급하면서 그것을 알고 있다고 확신 하지만, 다른 사람이 더 알고 싶다면 거기에 있습니다.
Firefeather
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.