我编写了一个程序,该程序在登录后在终端中以 ROOT 权限运行,但在重新启动后调用 XOpenDisplay(NULL) 时失败。该程序通过 rc.local 启动,但似乎无法看到 X11。
我需要 ROOT,因为我进行了 LibUSB 调用,如果不是 ROOT,这些调用会失败。我可以看到程序以 ROOT 权限运行,但检查环境变量显示未设置 DISPLAY。我有一个延迟循环运行,并在用户登录后进行检查,用户可以看到环境变量中设置的 DISPLAY 但程序不能。如果程序终止并在终端中运行,它可以完美运行,所以问题是程序在启动时无法与 X11 交互,并且这种状态仍然存在。
我希望程序在没有用户登录的情况下启动并运行。
谁能让我知道我需要做什么?
大卫