Me gustaría saber el valor predeterminado de una clave dconf/gsettings.
Mi pregunta es una continuación de la siguiente pregunta:
¿Dónde puedo obtener una lista de SCHEMA / PATH / KEY para usar con gsettings?
Lo que estoy tratando de hacer es crear un script que lea todas mis preferencias personales para poder hacer una copia de seguridad de ellas y restaurarlas. Planeo iterar a través de todas las claves, como el script anterior, ver qué claves se han cambiado de su valor predeterminado y anotarlas, que se pueden restaurar más tarde.
Veo que el editor dconf muestra el valor predeterminado de las claves, pero me gustaría mucho escribir esto. Además, no veo cómo se puede automatizar el análisis de los esquemas /usr/share/glib-2.0/schemas/. ¿Quizás alguien pueda ayudar?
gsettings get-default|list-defaults estaría bien =)
(Cielos, era mucho más fácil en los viejos tiempos cuando simplemente mantenías tu ~/.somethingrc en subversión... =
Según la respuesta dada a continuación, Actualicé el script para imprimir el esquema, la clave, el tipo de datos de la clave, valor predeterminado y valor real:
#!/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
Esta solución básicamente cubre lo que necesito. Seguiré trabajando en el script de copia de seguridad desde aquí.
Respuesta aceptada:
No parece haber una buena manera de obtener los valores predeterminados directamente, pero dado que el cliente verifica XDG_CONFIG_HOME en el entorno, una solución decente para obtener valores de una configuración nueva podría ser:
XDG_CONFIG_HOME=/nonexistent gsettings get SCHEMA KEY