На 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.)
