如何让 cron 运行 Java GUI 应用程序?

如何让 cron 运行 Java GUI 应用程序?

我有一个使用“java -jar app.jar”运行 Java GUI 应用程序的脚本。我已将该脚本添加到 crontab 中,每分钟运行一次,检查进程列表是否已启动。如果没有,则应启动该应用程序。

但是,它只启动了进程,而不是 GUI。我已将“export DISPLAY=:0”添加到脚本顶部,但这没有帮助。

我如何让 cron 运行该程序,就像我自己启动它一样?

谢谢

答案1

本页介绍如何使用 cron 运行 GUI 应用程序

要在命令部分使用 cron 运行 GUI 应用程序,请按以下方式替换命令名称部分

env DISPLAY=:0 gui_appname

env DISPLAY=:0部分将告诉 cron 使用当前显示(桌面)来运行程序“gui_appname”。

例如,要运行 rtorrent 客户端(Linux 中基于终端的流行 torrent 客户端),crontab 如下所示

# m h  dom mon dow   command
47 09 18 11 * env DISPLAY=:0 gnome-terminal -e rtorrent

答案2

为了完整性和评论中@nanoman 的问题,您可以轻松地将 cron 链接到启动 java 应用程序的 .sh 文件,例如这样:

@reboot sleep 15; env DISPLAY=:0 /path/to/.sh

然后使用脚本启动我屏幕上的 JavaFX 应用程序。

#!/bin/sh
java --your-arguments -jar /path/to/jar/file

相关内容