Me gustaría saber el valor predeterminado de una clave dconf / gsettings.
Mi pregunta es un seguimiento de la siguiente pregunta: ¿Dónde puedo obtener una lista de ESQUEMA / RUTA / CLAVE para usar con gsettings?
Lo que estoy tratando de hacer es crear un script que lea todas mis preferencias personales para que pueda hacer una copia de seguridad y restaurarlas. Planeo repetir todas las claves, como el script anterior, ver qué claves se han cambiado de su valor predeterminado y tomar nota de ellas, que se pueden restaurar más adelante.
Veo que el dconf-editor 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/. Tal vez alguien puede ayudar?
gsettings get-default | list-defaults sería bueno =)
(Geesh, fue mucho más fácil en los viejos tiempos donde solo mantenías tu ~ / .somethingrc en subversion ... = \
Según la respuesta que se proporciona a continuación, he actualizado el script para imprimir el esquema, la clave, el tipo de datos de la clave, el valor predeterminado y el 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. Continuaré trabajando en el script de copia de seguridad desde aquí.
gsettings reset KEY
es el camino a seguir.Respuestas:
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 nueva configuración podría ser:
fuente
Si está interesado en hacer una copia de seguridad y restaurar su configuración (en este caso, debe cambiar el título de su pregunta).
Apoyo
Puede hacer una copia de seguridad de su configuración con
Esto escribe todas las claves para la copia de seguridad del archivo en su Carpeta personal.
Restaurar
Hasta donde sé, no hay ninguna opción directa para importar el archivo de nuevo a dconf. Tal vez podría escribir una rutina que lea el archivo de respaldo línea por línea y se ejecute
gsettings set <input line from backup>
para restaurar su configuración.fuente