在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
该用户的密钥)?
(该脚本使用node.js在javascript中编写)