1

我试图每分钟启动一个 Qt 消息框。我在 crontab 中添加了一行来运行 Qt 程序的可执行文件,并将错误输出重定向到我的主目录中的文件。启动消息框的 Qt 程序没有问题,因为我对其进行了测试,但是当我尝试使用 crontab 启动它时,出现以下错误:

QXcbConnection: Could not connect to display
Aborted (core dumped)

我通过互联网检查并发现了一个可能有用的线程:https
://unix.stackexchange.com/questions/148945/could-not-connect-to-display-in-one-user-account/149026#149026 我相信第一反应给出了解决方案,但目前尚不清楚。
它建议使用 x11 共享桌面和 xauth 来添加安全措施,但没有指定如何配置它们。我已经安装了 xauth,但错误仍然存​​在。关于如何解决这个问题的任何想法?

4

2 回答 2

0

确保在 crontab 行中启动您的应用程序的用户是您。否则,它可能没有使用 X 服务器的权限。

于 2015-09-11T22:01:47.393 回答
0

我认为缺少 DISPLAY 环境。我建议您将您的应用程序包装在一个包装脚本中(我们称之为 horloge.sh):

#!/bin/sh
DISPLAY=:0
export DISPLAY
/home/salwa/computing/cpp/horloge

然后将 horloge.sh 放入您的 crontab 中。不要忘记执行 achmod u+x horloge.sh以使脚本可执行。

于 2015-09-25T15:20:12.583 回答