UBUNTU:程序在启动序列中通过rc.local运行时,XOpenDisplay(NULL)失败

UBUNTU:程序在启动序列中通过rc.local运行时,XOpenDisplay(NULL)失败,第1张

概述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)失败所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1155869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存