Saya ingin mengetahui nilai default dari kunci dconf/gsettings.
Pertanyaan saya adalah tindak lanjut dari pertanyaan di bawah ini:
Di mana saya bisa mendapatkan daftar SCHEMA / PATH / KEY untuk digunakan dengan gsettings?
Apa yang saya coba lakukan, jadi buat skrip yang membaca semua preferensi pribadi saya sehingga saya dapat mencadangkan dan memulihkannya. Saya berencana untuk mengulangi semua kunci, seperti skrip di atas, melihat kunci apa yang telah diubah dari nilai defaultnya, dan mencatatnya, yang dapat dipulihkan nanti.
Saya melihat bahwa dconf-editor menampilkan nilai default kunci, tetapi saya sangat ingin membuat skrip ini. Juga, saya tidak melihat bagaimana penguraian skema /usr/share/glib-2.0/schemas/ dapat diotomatisasi. Mungkin ada yang bisa bantu?
gsettings get-default|list-defaults akan menyenangkan =)
(Astaga, jauh lebih mudah di masa lalu di mana Anda hanya menyimpan ~/.somethingrc Anda di Subversion … =
Berdasarkan jawaban yang diberikan di bawah ini, Saya telah memperbarui skrip untuk mencetak skema, kunci, tipe data kunci, nilai default , dan nilai sebenarnya:
#!/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
Solusi ini pada dasarnya mencakup apa yang saya butuhkan. Saya akan terus mengerjakan skrip cadangan dari sini.
Jawaban yang Diterima:
Tampaknya tidak ada cara yang bagus untuk mendapatkan nilai default secara langsung, tetapi karena klien memeriksa XDG_CONFIG_HOME di lingkungan, solusi yang layak untuk mendapatkan nilai dari konfigurasi baru mungkin:
XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY