Qt:在 ubuntu 中使用 crontab 定期启动消息框

Qt: launch a message box periodically with crontab in ubuntu

我试图每分钟启动一个 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,但错误仍然存​​在。 关于如何解决这个问题有什么想法吗?

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

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

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

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