¿Qué es dconf, cuál es su función y cómo lo uso?

Mark Shuttleworth recientemente escribió en su blog sobre la decisión de incluir las bibliotecas Qt en la versión 11.10, con un seguimiento de Jono Bacon. Mark afirma que el mayor desafío para integrar aplicaciones escritas en Qt en el sistema más grande de Ubuntu es la no compatibilidad actual de Qt con dconf.

¿Qué es dconf y cuál es el papel que desempeña en Ubuntu?

Introducción

Como otras respuestas en este sitio tratan sobre gconf y dconf , me concentraré en discutir herramientas de línea de comandos como gsettings y el dconf-editor gui dconf-editor que se usan para acceder a la base de datos de dconf .

En el sitio oficial de GNOME se observa que

dconf es un sistema de configuración de bajo nivel. Su propósito principal es proporcionar un backend a GSettings en plataformas que aún no tienen sistemas de almacenamiento de configuración.

dconf es un sistema de configuración simple basado en claves. Las claves existen en una base de datos no estructurada (pero se pretende que las claves que lógicamente pertenecen juntas se agrupen).

Tener todas las claves en un único formato binario compacto también evita los problemas de fragmentación intensa que experimenta actualmente el enfoque del árbol de directorios de archivos xml.

dconf está optimizado para lecturas. Normalmente, leer una clave desde dconf implica cero llamadas al sistema y cero cambios de contexto. Las escrituras están menos optimizadas: atraviesan el bus y son manejadas por un “escritor”, un servicio DBus, de la manera habitual.

Usando gsettings para ver y cambiar configuraciones

Una vez que se llega a conocer gsettings , puede ser tan fácil como el gui dconf-editor . Las opciones se pueden enumerar ingresando man gsettings o visitando las páginas de manual de Ubuntu en línea .

NOTA: Como el sistema de todos tiene diferentes progtwigs instalados, es posible que tenga que sustituir los elementos específicos que elijo por otros diferentes al experimentarme, ya que estoy usando XUbuntu XFce con muchos progtwigs de GNOME.

Para listar todos los esquemas disponibles, ingrese

 gsettings list-schemas 

Para incluir también todas las teclas, introduzca

 gsettings list-recursively 

Sin embargo , normalmente es más fácil especificar qué desea con, por ejemplo,

 gsettings list-schemas | grep -i shotwell 

Esto devuelve una larga lista; Lo he acortado a:

 org.yorba.shotwell org.yorba.shotwell.preferences.ui org.yorba.shotwell.preferences.slideshow org.yorba.shotwell.plugins.enable-state org.yorba.shotwell.printing org.yorba.shotwell.preferences.editing org.yorba.shotwell.preferences.files 

Ahora, cuando haya encontrado el esquema que le interesa, haga una lista de las claves con

 gsettings list-keys org.yorba.shotwell.preferences.ui 

Esto devuelve una lista (de nuevo la he acortado):

 background-color display-basic-properties display-extended-properties display-photo-ratings display-photo-tags display-photo-titles event-photos-sort-ascending event-photos-sort-by 

Elija uno y vea cuál es el valor actual con

 gsettings get org.yorba.shotwell.preferences.ui display-photo-tags 

Esto devuelve un valor de verdadero, así que para revertirlo, use

 gsettings set org.yorba.shotwell.preferences.ui display-photo-tags false 

Estos son ejemplos triviales , pero muestran básicamente cómo las claves y los valores se identifican y cambian con gsettings .

Usando dconf-editor para cambiar la configuración

El progtwig gui, dconf-editor se instala (en 12.04) haciendo clic en:

Instalar a través del centro de software

o corriendo

 sudo apt-get install dconf-tools 

Luego ejecútelo ingresando en el terminal o en el menú de inicio rápido, dconf-editor .

Como puede ver en la captura de pantalla, todos los diversos esquemas se pueden expandir en el lado izquierdo y se puede seleccionar la tecla correspondiente. Es muy sencillo navegar hasta el valor que desea (en este caso, las preferencias de gnome-mplayer ). Puede hacer clic en la checkbox para activar un valor o agregar un valor numérico en una de las otras casillas. También puede buscar dentro del editor dconf con el método abreviado de teclado Ctrl + F.

introduzca la descripción de la imagen aquí

También puede agregar otra información de registro al log-viewer agregando una ruta en el formulario [‘/var/log/auth.log’, var …. ‘] en la siguiente captura de pantalla.

introduzca la descripción de la imagen aquí

Conclusión

Hay muchas otras formas útiles de modificar las configuraciones tanto con gsettings como con dconf-editor y son fáciles de usar. Vale la pena mirar a través de ellos para ver si hay opciones que no están en las preferencias de los progtwigs, ya que puede personalizar su progtwig de la manera que desee. Como lo mostró recientemente fossfreedom en esta pregunta.

  • ¿Cómo edito la lista de ubicaciones de bibliotecas de música en Rhythmbox?

saber cómo usar gsettings o dconf-editor es extremadamente valioso. Ver también:

  • ¿Cómo uso el editor gconf?

Para aquellos que vienen de Windows y desean una respuesta simple, dconf es el gnomo equivalente al registro de Windows … un gran árbol binario donde cualquier progtwig puede almacenar y compartir su configuración.

Primero migraron de las configuraciones tradicionales de Unix (un archivo de texto para cada aplicación, cada uno con su propio formato) a un árbol estándar de archivos XML, administrado por gconf. En los últimos tiempos, como casi nadie editó esos archivos XML directamente y los problemas de rendimiento de la lectura y el análisis de MUCHOS archivos, migraron a un formato binario al migrar de gconf a dconf.

A diferencia del registro de Windows, dconf debería tener todas las entradas de configuración en la lista, incluso si están configuradas en los valores predeterminados. Por lo tanto, no hay entradas ocultas, puede cambiarlas o restablecerlas luego a las predeterminadas fácilmente.

dconf no es específico de Ubuntu, es la tecnología GNOME utilizada para almacenar configuraciones de aplicaciones. Para obtener más detalles, lea http://live.gnome.org/dconf