UBUNTU:当程序通过rc.local以引导顺序运行时,XOpenDisplay(NULL)失败

前端之家收集整理的这篇文章主要介绍了UBUNTU:当程序通过rc.local以引导顺序运行时,XOpenDisplay(NULL)失败前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我编写了一个程序,该程序在登录后在终端中以ROOT权限运行,但在重启后进行XOpenDisplay(NULL)调用时失败.该程序通过rc.local启动,但似乎无法看到X11.

我需要ROOT,因为我进行了LibUSB调用,如果不是ROOT则会失败.我可以看到该程序正在运行ROOT权限,但检查环境变量显示未设置DISPLAY.我有一个延迟循环运行并在用户登录后进行检查,用户可以在环境变量中看到DISPLAY设置,但程序不能.如果程序终止并在终端中运行,它可以完美地运行,因此问题是程序在启动时无法与X11交互并且此状态仍然存在.

我希望程序在没有用户登录的情况下启动并运行.

任何人都可以让我知道我需要做什么吗?

大卫

解决了感谢tripleee.

Ubuntu现在使用LightDM,因此将下面的行添加到/etc/lightdm/lightdm.conf中

greeter-setup-script=usr/bin/'my-script'

‘my-script’在哪里:

#!/bin/sh
/usr/bin/'my-prog' &

一切正常.

猜你在找的Ubuntu相关文章