изменить настройки без запуска X и Unity

13

Я пытаюсь изменить некоторые настройки gconf в Ubuntu 12.10. Я хотел бы изменить фон lightdm greeter.

Я обнаружил, что во время входа в Unity от имени пользователя во время работы X-сервера я могу сделать это с помощью:

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

Проблема в том, что для этого требуется, чтобы я вошел в систему как пользователь под X. Так что весь оконный менеджер должен быть запущен. Но я хочу использовать chroot для изменения этих настроек без запуска X-сервера. Я просто хочу смонтировать разделы и изменить настройки без запуска полного оконного менеджера.

Есть ли способ напрямую изменить настройки без входа в X и Unity?

Или в качестве альтернативы ... есть ли способ перевести X-сервер и Unity в фоновый режим, чтобы я мог вносить изменения, не отображая на мониторе полный оконный дисплей?

user1880288
источник

Ответы:

17

Это можно запускать 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'"
Afr
источник
Спасибо тебе за это! Я использовал это, чтобы установить настройки для другого пользователя, не вошедшего в систему, как этоsudo -u "username" dbus-launch --exit-with-session gsettings set org.gnome.settings-daemon.plugins.power lid-close-ac-action 'nothing'
HarlemSquirrel
Если вы добавляете строку, которую предлагает 5cdhn, с помощью sudo, вы можете отредактировать dconf для root (при использовании dconf-editor и gsettings с помощью sudo / gksu выдает эту ошибку). Другой способ сделать это с помощью 'sudo / gksu dbus-launch gsetttnigs / dconf-editor', как предлагает Пако Поррас.
Que Quotion
Это не работает, если у вас запущен сеанс. Например, я хочу изменить раскладку клавиатуры, когда я подключаю / отключаю клавиатуру. Запуск gsettings внутри скрипта udev, даже с использованием dbus-launch, не применяет настройки для текущего запущенного сеанса.
Бен Дэвис
«Протокол не указан» при попытке проверить это.
realkstrawn93
-1

Некоторые люди говорят, что вы должны предшествовать команде "gsettings" словом "dbus-launch", но я не пробовал.

Osqui
источник