将 cron 任务添加到前台

将 cron 任务添加到前台

我正在尝试运行一个程序,它会弹出一个图形通知。举个简单的例子,我的 cron 设置如下

@hourly xlogo

如果我通过交互式命令启动 xlogo,它工作正常。但是,当通过 cron 运行时,xlogo 窗口永远不会启动。我如何让 cron 让 xlogo 启动窗口,或者它从根本上就不是为此设计的?

答案1

使用 crontab 完全可以做到这一点。

您需要告诉脚本您想要在哪个屏幕xlogo上运行。

尝试将这一行改成这样:

@hourly /usr/bin/env DISPLAY=:0.0 /usr/bin/xlogo

告诉 crontab 您希望它使用什么显示。根据程序的不同,您可能还需要添加更多环境变量。

答案2

您需要通过命令告诉它要使用哪个显示export。我还建议始终使用文件的完整路径cron。这将为您省去很多麻烦,因为 cron 在有限的环境中运行,因此它并不总是具有与您的终端相同的 $PATH 变量。这意味着它并不总是知道程序位于何处。

无论如何,你的 cron 作业看起来应该是这样的:

@hourly export DISPLAY=:0.0 && /usr/bin/xlogo

相关内容