Ändern Sie gsettings, ohne X und Unity auszuführen

13

Ich versuche, einige gconf-Einstellungen in Ubuntu 12.10 zu ändern. Ich möchte den lightdm greeter hintergrund ändern.

Ich habe festgestellt, dass ich, während ich als Benutzer bei Unity angemeldet bin, während ich den X-Server ausführte, Folgendes tun kann:

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

Das Problem ist, dass ich mich dazu unter X als Benutzer anmelden muss. Damit der gesamte Fenstermanager ausgeführt werden kann. Ich möchte jedoch chroot verwenden, um diese Einstellungen zu ändern, ohne dass ein X-Server ausgeführt wird. Ich möchte nur die Partitionen mounten und gsettings ändern, ohne dass der vollständige Fenstermanager ausgeführt wird.

Gibt es eine Möglichkeit, gsettings direkt zu ändern, ohne bei X und Unity angemeldet zu sein?

Oder alternativ ... gibt es eine Möglichkeit, den X-Server und Unity im Hintergrund aufzurufen, damit ich die Änderungen vornehmen kann, ohne dass eine vollständige Fensteranzeige auf meinem Monitor angezeigt wird?

user1880288
quelle

Antworten:

17

Es ist möglichgsettings ohne X11 zu laufen mit dbus-launch --exit-with-session:

dbus-launch --exit-with-session gsettings set com.canonical.unity-greeter background "'/usr/share/backgrounds/micros-background.png'"
Afr
quelle
Danke dafür! Ich habe dies verwendet, um Einstellungen für einen anderen Benutzer sudo -u "username" dbus-launch --exit-with-session gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
festzulegen, der
Wenn Sie die Zeile voranstellen, die 5cdhn mit sudo vorschlägt, können Sie die dconf von root bearbeiten (wenn Sie den dconf-editor verwenden und gsettings mit sudo / gksu diesen Fehler auslösen). Ein anderer Weg, dies zu tun, ist mit 'sudo / gksu dbus-launch gsetttnigs / dconf-editor', wie Paco Porras vorschlägt.
Que Quotion
Dies scheint nicht zu funktionieren, wenn gerade eine Sitzung ausgeführt wird. Zum Beispiel möchte ich das Tastaturlayout ändern, wenn ich die Tastatur ein- / ausstecke. Wenn Sie gsettings in einem udev-Skript ausführen, werden die Einstellungen für die derzeit ausgeführte Sitzung auch bei Verwendung von dbus-launch nicht angewendet.
Ben Davis
"Kein Protokoll angegeben" beim Versuch, dies zu testen.
Realkstrawn93
-1

Einige Leute sagen, dass Sie dem Befehl "gsettings" das Wort "dbus-launch" voranstellen müssen, aber ich habe es nicht ausprobiert.

Osqui
quelle