dconf 또는 gsettings로 기본 키 값을 읽는 방법은 무엇입니까?


13

dconf / gsettings 키의 기본값을 알고 싶습니다.

내 질문은 아래 질문에 대한 후속 조치입니다. gsets와 함께 사용할 SCHEMA / PATH / KEY 목록을 어디서 얻을 수 있습니까?

내가하려고하는 일은 모든 개인 취향을 읽는 스크립트를 작성하여 백업하고 복원 할 수 있도록하십시오. 위의 스크립트와 같은 모든 키를 반복하고 기본값에서 변경된 키를 확인하고 나중에 복원 할 수있는 키를 메모 할 계획입니다.

dconf-editor가 키의 기본값을 표시하는 것을 보았지만이 스크립트를 작성하고 싶습니다. 또한 /usr/share/glib-2.0/schemas/ 스키마 구문 분석을 자동화하는 방법을 알지 못합니다. 누군가 도울 수 있을까요?

gsettings get-default | list-defaults는 좋을 것입니다 =)

(Geesh, 예전에는 ~ / .somethingrc를 subversion으로 유지하는 것이 훨씬 쉬웠습니다 ... = \


아래 주어진 답변을 바탕으로 스키마, 키, 키의 데이터 유형, 기본값 및 실제 값 을 인쇄하도록 스크립트를 업데이트했습니다 .

#!/bin/bash

for schema in $(gsettings list-schemas | sort); do
    for key in $(gsettings list-keys $schema | sort); do
        type="$(gsettings range $schema $key | tr "\n" " ")"
        default="$(XDG_CONFIG_HOME=/tmp/ gsettings get $schema $key | tr "\n" " ")"
        value="$(gsettings get $schema $key | tr "\n" " ")"
        echo "$schema :: $key :: $type :: $default :: $value"
    done
done

이 해결 방법은 기본적으로 필요한 것을 다룹니다. 여기서부터 백업 스크립 작업을 계속하겠습니다.


다른 사람이 키를 기본값으로 재설정하는 방법을 찾고 있다면 여기에 방법 gsettings reset KEY이 있습니다.
Andreas Storvik Strauman

답변:


11

기본값을 직접 얻는 좋은 방법은 없지만 클라이언트가 환경에서 XDG_CONFIG_HOME을 확인하므로 새로운 구성에서 값을 얻는 적절한 해결책은 다음과 같습니다.

XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY

1

설정 백업 및 복원에 관심이있는 경우 질문 제목을 변경해야합니다.

지원

당신은 설정을 백업 할 수 있습니다

gsettings list-recursively > backup

그러면 홈 폴더 의 파일 백업 에 모든 키가 기록됩니다 .

복원

내가 아는 한 파일을 다시 dconf로 가져 오는 직접적인 옵션은 없습니다. 백업 파일을 한 줄씩 읽고 실행 gsettings set <input line from backup>하여 설정을 복원 하는 루틴을 작성할 수 있습니다.

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