cambia gsettings senza eseguire X e Unity


13

Sto cercando di modificare alcune impostazioni di gconf in Ubuntu 12.10. Vorrei cambiare lo sfondo di lightdm greeter.

Ho scoperto che mentre accedevo all'unità come utente mentre eseguivo X server, sono in grado di farlo con:

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

Il problema è che questo mi richiede di accedere come utente sotto X. Quindi l'intero gestore delle finestre deve essere in esecuzione. Ma voglio usare chroot per modificare queste impostazioni senza alcun server X in esecuzione. Voglio solo montare le partizioni e cambiare gsettings senza far funzionare il gestore di finestre complete.

C'è un modo per cambiare direttamente le impostazioni senza essere loggato in X e Unity?

O in alternativa ... c'è un modo per far apparire X server e Unity in background in modo che io possa apportare le modifiche senza avere una visualizzazione a finestra intera sul mio monitor?

Risposte:


17

È possibile eseguire gsettingssenza X11 utilizzando dbus-launch --exit-with-session:

dbus-launch --exit-with-session gsettings set com.canonical.unity-greeter background "'/usr/share/backgrounds/micros-background.png'"

Grazie per questo! Ho usato questo per configurare le impostazioni per un altro utente non connesso in questo modosudo -u "username" dbus-launch --exit-with-session gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
HarlemSquirrel

Se anteponi la riga 5cdhn suggerisce con sudo, puoi modificare il dconf di root (quando usi dconf-editor e gsettings con sudo / gksu genera questo errore). Un altro modo per farlo è con 'sudo / gksu dbus-launch gsetttnigs / dconf-editor' come suggerisce Paco Porras.
Que Quotion

Ciò non sembra funzionare quando è in corso una sessione. Ad esempio, voglio cambiare il layout della tastiera quando collego / scollego la tastiera. L'esecuzione di gsettings all'interno di uno script udev, anche usando dbus-launch, non applica le impostazioni per la sessione attualmente in esecuzione.
Ben Davis,

"Nessun protocollo specificato" nel tentativo di testarlo.
realkstrawn93,

-1

Alcuni dicono che devi precedere il comando "gsettings" dalla parola "dbus-launch", ma non l'ho provato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.