更改gsettings而不运行X和Unity


13

我正在尝试在Ubuntu 12.10中更改某些gconf设置。我想更改lightdm迎宾员背景。

我发现在运行X服务器时以用户身份登录统一时,我可以通过以下方式做到这一点:

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

问题是这要求我以用户身份在X下登录。因此,整个窗口管理器都需要运行。但是我想使用chroot来更改这些设置,而无需运行任何X服务器。我只想挂载分区并更改gsettings,而无需运行完整的窗口管理器。

有没有一种方法可以直接更改gsettings而无需登录X和Unity?

或者...是否有办法在后台启动X服务器和Unity,以便我可以进行更改而无需在监视器上显示完整的窗口?

Answers:


17

使用X 可以gsettings不使用X11 的情况下运行dbus-launch --exit-with-session

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

这次真是万分感谢!我用它为另一个没有这样登录的用户设置设置sudo -u "username" dbus-launch --exit-with-session gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
HarlemSquirrel 2015年

如果将5cdhn建议的行放在sudo的前面,则可以编辑root的dconf(当使用dconf-editor和sudo / gksu的gsettings时会抛出此错误)。另一方法是使用Paco Porras建议的'sudo / gksu dbus-launch gsetttnigs / dconf-editor'。
Que Quotion '16

当前正在运行会话时,这似乎不起作用。例如,当我插入/拔下键盘时,我想更改键盘布局。即使使用dbus-launch,在udev脚本中运行gsettings也不会将设置应用于当前正在运行的会话。
本戴维斯

尝试测试时“未指定协议”。
realkstrawn93

-1

有人说您必须在“ gsettings”命令之前加上“ dbus-launch”一词,但我还没有尝试过。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.