脚本中的 xhost 命令由 initctl 执行时失败

脚本中的 xhost 命令由 initctl 执行时失败

由于某种原因,我必须执行xhost +SI:localuser:root才能允许用户使用 GUI root。我已将此命令放在 shell 脚本中,它将在启动时执行upstart。当我以另一个用户身份手动执行此命令或此脚本时,它可以正常工作。但是当此命令执行此脚本时upstart不起作用。

root我也尝试通过以脚本中的用户以外的身份执行此命令

   sudo -H -s otheruser xhost +SI:localuser:root

这也不起作用。

如何root在系统启动时允许用户使用 GUI?

谢谢你的时间!

答案1

“用户的 GUI root” 被认为是有害的*,但是,这里是对您的问题的解释:

xhost告诉 X 服务器它可能/不可能接受来自其他主机的连接。

运行脚本时upstart,没有用户登录并启动 X 服务器。因此,xhost没有人可以对话。

您需要延迟执行xhost命令,直到您登录之后。xhost还需要定义DISPLAY环境变量(以便它可以找到 X 服务器)。man X显示格式DISPLAYhostname:displaynumber.screennumber

答案:您无法运行xhost——upstart上下文不正确。

    • root是无所不能的,图形程序并不会向你展示它们所做的一切。

相关内容