¿Cómo cambio las claves dconf sin una interfaz gráfica de usuario (para un script posterior a la instalación)?


31

He instalado dconf-tools. En este caso, estoy manipulando la visualización de un nombre en el panel en el indicador de sesión.

Puedo cambiar esto en dconf-editor gui sin ningún problema, voy a aplicaciones / indicador-sesión y desactivo show-real-name-on-panel.

Sin embargo, también he tratado de alternarlo simplemente usando dconf en la línea de comando:

dconf write /com/canonical/indicator/session/show-real-name-on-panel false

Después de reiniciar, el panel no cambia, y la clave en el editor dconf tampoco cambia.

Además, intentar actualizar la base de datos dconf a través del terminal produce un error:

$ dconf update
fatal: Error opening directory '/etc/dconf/db': No such file or directory

Según mi experiencia, parece que dconf y dconf-editor no tienen relación, por lo que me pregunto qué estoy haciendo mal.

Si puedo resolver esto, solo quiero colocar el comando en un script bash para que se ejecute la próxima vez que tenga que realizar una instalación limpia para una actualización *. Realizo muchos ajustes en 6 meses y solo quiero automatizar lo más posible a partir de ahora.

  • Ligeramente fuera de tema: el mecanismo de actualización de distribución nunca ha funcionado sin problemas para mí; Lo intenté yendo de 11.04 a 11.10 también.

Respuestas:


35

Puedes usar la gsettingsherramienta.

gsettings set com.canonical.indicator.session show-real-name-on-panel false

Gracias, eso funcionó! ¿Funciona eso en cualquier lugar que dconf lo haría? ¿Será desaprobado a favor de dconf, o continuará siendo utilizado en el futuro previsible?
Inkayacu

Sí, gsettings se puede usar en cualquier lugar donde dconf lo haga.
Anónimo

1
No, no quedará en desuso. dconf reemplazó a gconf, que quedará en desuso. gconf se puede cambiar con gconf-editoro gconftool-2. dconf se puede cambiar con dconf-editoro gsettings.
Anónimo el

gconf guarda sus archivos en su directorio de inicio bajo el directorio .gconf /.
Anónimo

12

Lo siguiente funcionó para mí en Ubuntu 14.04:

dconf write /org/gnome/gnome-session/auto-save-session true

El valor cambió y permaneció modificado después del reinicio. Tuve otro problema de que las ventanas no se guardaron, pero ese es un problema completamente diferente.


6

dconf dump+ loadexportación y restauración masiva

  1. Volcar todas las configuraciones a un archivo:

    dconf dump / >~/.config/dconf/user.conf
    
  2. Abra ese archivo en un editor de texto y seleccione la configuración que le interesa:

    editor ~/.config/dconf/user.conf
    

    Si usa Vim, querrá este resaltado de sintaxis .

  3. Si no conoce el nombre de la configuración, pero sabe cómo modificarlo desde una GUI como unity-control-center, ejecute:

    dconf watch /
    

    y luego modificarlos. La configuración exacta aparecerá en el terminal.

  4. Cuando desee restaurar esa configuración, ejecute:

    dconf load / <~/.config/dconf/user.conf
    
  5. Git rastrea el archivo de configuración para nunca perderlo. https://github.com/andsens/homeshickhomesick es mi método favorito actual.

Probado en Ubuntu 15.10. Consejo adaptado de: http://catern.com/2014/12/21/plain-text-configuration-gnome.html


1

Parece (al menos en 15.10) que hay algunas cosas (específicamente compiz) que solo almacenan la configuración en la dconfcapa y no se pueden configurar a través de gsettings. Es posible que esto afecte a otras rutas de configuración, pero probablemente improbable, ya que compiz está en una capa inferior a la unidad, no me sorprende que se comporte de manera diferente.

Por ejemplo, esto funcionará:

dconf write /org/compiz/profiles/unity/plugins/core/outputs "['3200x1800+288+2160', '3840x2160+0+0']"

mientras que esto no:

gsettings set org.compiz.profiles.unity.plugins.core outputs "['3200x1800+288+2160', '3840x2160+0+0']"
# No such schema 'org.compiz.profiles.unity.plugins.core'

Ahora, si solo pudiera descubrir cómo recargar compiz sin bloquear todo ...

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.