ubah gsettings tanpa menjalankan X dan Unity

13

Saya mencoba mengubah beberapa pengaturan gconf di Ubuntu 12.10. Saya ingin mengubah latar belakang penyapa lightdm.

Saya telah menemukan bahwa ketika masuk ke kesatuan sebagai pengguna saat menjalankan X server, saya dapat melakukan ini dengan:

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

Masalahnya adalah ini mengharuskan saya untuk masuk sebagai pengguna di bawah X. Sehingga seluruh manajer jendela harus berjalan. Tapi saya ingin menggunakan chroot untuk mengubah pengaturan ini tanpa X server berjalan. Saya hanya ingin me-mount partisi dan mengubah gsettings tanpa menjalankan manajer jendela penuh.

Apakah ada cara untuk mengubah gsettings secara langsung tanpa login ke X dan Unity?

Atau sebagai alternatif ... apakah ada cara untuk memunculkan X server dan Unity di latar belakang sehingga saya dapat melakukan perubahan tanpa tampilan jendela penuh muncul di monitor saya?

pengguna1880288
sumber

Jawaban:

17

Ini mungkin untuk menjalankan gsettingstanpa X11 menggunakan dbus-launch --exit-with-session:

dbus-launch --exit-with-session gsettings set com.canonical.unity-greeter background "'/usr/share/backgrounds/micros-background.png'"
Afr
sumber
Terima kasih untuk ini! Saya menggunakan ini untuk mengatur pengaturan untuk pengguna lain yang tidak masuk seperti inisudo -u "username" dbus-launch --exit-with-session gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
HarlemSquirrel
Jika Anda menambahkan baris 5cdhn yang disarankan dengan sudo, Anda dapat mengedit dconf root (saat menggunakan dconf-editor dan gsettings dengan sudo / gksu throw this error). Cara lain untuk melakukan ini adalah dengan 'sudo / gksu dbus-launch gsetttnigs / dconf-editor' seperti yang disarankan Paco Porras.
Que Quotion
Tampaknya ini tidak berfungsi ketika Anda memiliki sesi yang sedang berjalan. Sebagai contoh, saya ingin mengubah tata letak keyboard ketika saya mencolokkan / mencabut keyboard. Menjalankan gsettings di dalam skrip udev, bahkan menggunakan dbus-launch, tidak menerapkan pengaturan untuk sesi yang sedang berjalan.
Ben Davis
"Tidak ada protokol yang ditentukan" pada upaya untuk menguji ini.
realkstrawn93
-1

Beberapa orang mengatakan bahwa Anda harus mendahului perintah "gsettings" dengan kata "dbus-launch", tetapi saya belum mencobanya.

Osqui
sumber