GNU/Linux >> Linux の 問題 >  >> Ubuntu

DconfまたはGsettingsでデフォルトのキー値を読み取る方法は?

dconf/gsettingsキーのデフォルト値を知りたいのですが。

私の質問は、以下の質問のフォローアップです。
gsettingsで使用するSCHEMA/PATH / KEYのリストはどこで入手できますか?

私がやろうとしていることなので、個人的な好みをすべて読み取るスクリプトを作成して、それらをバックアップおよび復元できるようにします。上記のスクリプトのように、すべてのキーを繰り返し処理して、デフォルト値から変更されたキーを確認し、後で復元できるようにメモしておく予定です。

dconf-editorがキーのデフォルト値を表示しているようですが、これをスクリプト化したいと思います。また、スキーマ/usr/share/glib-2.0/schemas/の解析を自動化する方法がわかりません。多分誰かが助けることができますか?

gsettings get-default | list-defaultsがいいでしょう=)

(そうですね、昔は〜/.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

この回避策は基本的に私が必要とするものをカバーしています。ここからバックアップスクリプトの作業を続けます。

承認された回答:

デフォルト値を直接取得するための良い方法はないようですが、クライアントが環境内のXDG_CONFIG_HOMEをチェックするため、新しい構成から値を取得するための適切な回避策は次のようになります。

XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY

Ubuntu
  1. パターンを使用してファイルのセットの名前を変更するにはどうすればよいですか?

  2. ショートカットキーで最後のターミナルウィンドウを表示するにはどうすればよいですか?

  3. デフォルトをRuby2.1.2に設定する方法は?

  1. Alsaでデフォルトのサウンドカードを選択する方法は?

  2. Mac OS で Cron を使用して自作を更新する方法

  3. rsync を使用してデフォルトでファイルを除外するにはどうすればよいですか?

  1. cPanelを使用してサードパーティのSSL証明書をインストールする方法

  2. SSHキーペアを生成する方法(例付き)

  3. マルチホップSshトンネルでSsh-copy-idを使用する方法は?