Varsayılan anahtar değeri dconf veya gsettings ile nasıl okunur?


13

Bir dconf / gsettings anahtarının varsayılan değerini bilmek istiyorum.

Benim sorum aşağıdaki sorunun bir takip olduğunu: gsettings ile kullanmak için SCHEMA / PATH / KEY bir listesini nereden bulabilirim?

Ne yapmaya çalışıyorum, bu yüzden tüm kişisel tercihlerimi okuyan bir komut dosyası oluşturun, böylece onları yedekleyebilir ve geri yükleyebilirim. Yukarıdaki komut dosyası gibi tüm anahtarların varsayılan değerlerinden hangi anahtarların değiştirildiğini görmeyi ve daha sonra geri yüklenebilecek olanları not etmeyi planlıyorum.

Dconf-editörünün tuşların varsayılan değerini görüntülediğini görüyorum, ancak bunu senaryolamak istiyorum. Ayrıca, /usr/share/glib-2.0/schemas/ şemalarının nasıl ayrıştırılacağını otomatik olarak göremiyorum. Belki birisi yardım edebilir?

gsettings get-default | list-defaultults iyi olurdu =)

(Geesh, ~ / .somethingrc'nizi yıkım içinde tuttuğunuz eski günlerde çok daha kolaydı ... = \


Aşağıda verilen cevaba göre, şemayı, anahtarı, anahtarın veri türünü, varsayılan değeri ve gerçek değeri yazdırmak için komut dosyasını güncelledim :

#!/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

Bu geçici çözüm temelde ihtiyacım olanı kapsar. Buradan yedekleme komut dosyası üzerinde çalışmaya devam edeceğim.


Başka biri de bir anahtarı varsayılan değerine sıfırlamayı arıyorsa, o zaman gsettings reset KEYgitmenin yolu budur.
Andreas Storvik Strauman

Yanıtlar:


11

Varsayılan değerlere doğrudan ulaşmanın iyi bir yolu yok gibi görünüyor, ancak istemci XDG_CONFIG_HOME'u ortamda kontrol ettiğinden, yeni bir yapılandırmadan değer almak için iyi bir geçici çözüm olabilir:

XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY

1

Ayarlarınızı yedeklemek ve geri yüklemekle ilgileniyorsanız (bu durumda sorunuzun başlığını değiştirmeniz gerekir).

Destek olmak

Ayarlarınızı aşağıdakilerle yedekleyebilirsiniz:

gsettings list-recursively > backup

Bu, tüm anahtarları Ana Klasörünüzdeki dosya yedeklemesine yazar .

Onarmak

Bildiğim kadarıyla dosyayı dconf'a geri almak için doğrudan bir seçenek yok. Belki yedekleme dosyasını satır satır okuyan ve gsettings set <input line from backup>ayarlarınızı geri yüklemek için yürütülen bir rutin yazabilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.