从linux中的acpi事件执行PyQt应用程序

2024-06-08 18:55:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用PyQt应用程序在linux下触发acpi事件时显示图像。在

我已经为事件设置了配置,当事件被触发时,python脚本将被执行,但是当程序到达qa应用程序的创建时

app = QApplication(sys.argv)

它会毫无差错地停止。 我尝试设置与当前用户相同的DISPLAY和PATH环境变量,但它不起作用。在

这是我的事件文件:

^{pr2}$

我试图在/tmp/vaio工具中找到一些错误_亮度.log但在代码中到达QApp创建之后,它不会记录任何内容。在

有什么提示吗??在


Tags: 用户图像程序脚本app应用程序linuxsys
1条回答
网友
1楼 · 发布于 2024-06-08 18:55:26

您的应用程序由root用户运行,而root用户无权访问用户的X显示。在

将$XAUTHORITY设置为用户使用的X authority文件的路径,或使用类似的方法(未测试):

su your_user -l -c "xauth extract - $DISPLAY" | xauth merge -

有关更多信息,请参见xauthXsecurity的手册页。在

更好的解决方案是让ACPI事件通过DBus发送消息,并在用户会话中运行应用程序来监听该消息。在

相关问题 更多 >