Vorrei conoscere il valore predefinito di una chiave dconf/gsettings.
La mia domanda è un seguito della domanda seguente:
Dove posso ottenere un elenco di SCHEMA / PATH / KEY da utilizzare con gsettings?
Quello che sto cercando di fare, quindi crea uno script che legga tutte le mie preferenze personali in modo da poterne eseguire il backup e ripristinarle. Ho intenzione di scorrere tutte le chiavi, come lo script sopra, vedere quali chiavi sono state modificate dal loro valore predefinito e prendere nota di queste, che possono essere ripristinate in seguito.
Vedo che l'editor dconf mostra il valore predefinito delle chiavi, ma mi piacerebbe molto scriverlo. Inoltre, non vedo come l'analisi degli schemi /usr/share/glib-2.0/schemas/ possa essere automatizzata. Forse qualcuno può aiutare?
gsettings get-default|list-defaults sarebbe carino =)
(Accidenti, era molto più facile ai vecchi tempi in cui tenevi il tuo ~/.somethingrc in subversion … =
In base alla risposta fornita di seguito, Ho aggiornato lo script per stampare schema, chiave, tipo di dati della chiave, valore predefinito e valore effettivo:
#!/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
Questa soluzione alternativa copre sostanzialmente ciò di cui ho bisogno. Continuerò a lavorare sullo script di backup da qui.
Risposta accettata:
Non sembra esserci un bel modo per ottenere direttamente i valori predefiniti, ma poiché il client controlla XDG_CONFIG_HOME nell'ambiente, una soluzione decente per ottenere valori da una nuova configurazione potrebbe essere:
XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY