概述UBUNTU:程序在启动序列中通过rc.local运行时,XOpenDisplay(NULL)失败
我已经编写了一个程序,在login后在terminal中以ROOT权限运行,但在重新启动后进行XOpendisplay(NulL)调用时失败。 该程序通过rc.local启动,但似乎无法看到X11。
我需要ROOT,因为我做了libUSB调用,如果不是ROOT,这些失败。 我可以看到程序运行ROOT权限,但环境variables的检查显示没有设置disPLAY。 我有一个延迟循环运行,用户login后进行检查,用户可以在环境variables中看到disPLAY,但程序不能。 如果程序终止并在terminal中运行,那么它的工作原理是完美的,所以问题在于程序在启动时不能和X11交互,这种状态依然存在。
我希望程序能够在没有用户login的情况下运行。
任何人都可以让我知道我需要做什么?
将rc.local阻止,直到命令完成执行?
update-rc.d vs chkconfig
如何使用资源文件(* .rc)来设置基于对话框的应用程序的样式
inputrc文件无法加载
在/etc/init.d脚本中如何检测networking初始化?
大卫
树莓派使用中断方法closures(closures时出现垃圾代码)
从rc.local运行python脚本不会执行
AndroID .rc文件的用途是什么?
是否有任何数量和大小限制embedded到windows资源DLL文件的rc项?
vi / vim – 自定义格式取决于特殊文件或代码内的标记的存在
解决感谢tripleee。
Ubuntu现在使用lightDM,所以将下面的行添加到/etc/lightdm/lightdm.conf
greeter-setup-script=usr/bin/\’my-script\’
其中“我的脚本”是:
#!/bin/sh /usr/bin/\’my-prog\’ &
一切正常。
您的程序只能在X11启动并运行后才能启动。 但是更好的设计是使用root权限运行的服务,但不使用X,并安排X客户端以某种方式与之交谈。 如果没有X就不能存在,则挂钩到X11启动序列,而不是系统启动。
总结
以上是内存溢出为你收集整理的UBUNTU:程序在启动序列中通过rc.local运行时,XOpenDisplay(NULL)失败全部内容,希望文章能够帮你解决UBUNTU:程序在启动序列中通过rc.local运行时,XOpenDisplay(NULL)失败所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容