На Ubuntu Desktop 13.10 у меня есть скрипт установки, который запускается от имени пользователя root. По сути, он настраивает компьютер по мере необходимости, но мне нужно установить некоторые параметры с помощью dconf
. Скрипт запускается в окне терминала под обычным пользователем с sudo
. Мне нужно выполнить команду dconf write /com/canonical/unity/launcher/favorites "['unity://expo-icon', <...>']"
. (Он запускается с различными настройками.)
Я проверил команды как логин пользователя, и они работают просто отлично. Однако, когда я вошел в систему как root, я не могу выполнить sudo -u bitc dconf write <...>
; Я получаю сообщения об ошибках, такие как error: Could not connect: Connection refused
или unable to create directory '/root/.cache/conf'
.
Сценарий должен быть запущен от имени пользователя root из-за некоторых других задач, которые он выполняет, но, по-видимому, для его настройки dconf
должен запускаться в рамках определенного сеанса входа в систему, а не только пользователя. Я бы не хотел иметь отдельный скрипт для dconf
, но это возможно. Есть ли способ присоединиться к сеансу входа в систему (или какой-либо другой способ установить ключи dconf
для этого пользователя)?
(Сценарий написан в javascript с помощью node.js.)