cambiar gsettings sin ejecutar X y Unity

13

Estoy tratando de cambiar algunas configuraciones de gconf en Ubuntu 12.10. Me gustaría cambiar el fondo lightdm greeter.

He descubierto que mientras estoy conectado a la unidad como usuario mientras ejecuto el servidor X, puedo hacer esto con:

sudo xhost +SI:localuser:lightdm
gsettings set com.canonical.unity-greeter background "'/usr/share/backgrounds/micros-background.png'"

El problema es que esto requiere que inicie sesión como usuario en X. De modo que todo el administrador de ventanas debe estar ejecutándose. Pero quiero usar chroot para cambiar esta configuración sin ejecutar ningún servidor X. Solo quiero montar las particiones y cambiar los ajustes sin tener que ejecutar el administrador de ventanas completo.

¿Hay alguna manera de cambiar directamente gsettings sin iniciar sesión en X y Unity?

O, alternativamente, ¿hay alguna forma de mostrar el servidor X y la Unidad en segundo plano para que pueda hacer los cambios sin que aparezca una pantalla con ventana completa en mi monitor?

usuario1880288
fuente

Respuestas:

17

Es posible ejecutar gsettingssin X11 usando dbus-launch --exit-with-session:

dbus-launch --exit-with-session gsettings set com.canonical.unity-greeter background "'/usr/share/backgrounds/micros-background.png'"
Afr
fuente
¡Gracias por esto! Utilicé esto para establecer configuraciones para otro usuario que no sudo -u "username" dbus-launch --exit-with-session gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
inició
Si antepone la línea que 5cdhn sugiere con sudo, puede editar dconf de la raíz (cuando use dconf-editor y gsettings con sudo / gksu, arroje este error). Otra forma de hacerlo es con 'sudo / gksu dbus-launch gsetttnigs / dconf-editor' como sugiere Paco Porras.
Que Quotion
Esto no parece funcionar cuando tiene una sesión ejecutándose actualmente. Por ejemplo, quiero cambiar la distribución del teclado cuando conecto / desconecto el teclado. Ejecutar gsettings dentro de un script udev, incluso usando dbus-launch, no aplica la configuración para la sesión actualmente en ejecución.
Ben Davis el
"No se especificó ningún protocolo" al intentar probar esto.
realkstrawn93
-1

Algunas personas dicen que debes preceder el comando "gsettings" con la palabra "dbus-launch", pero no lo he probado.

Osqui
fuente