示例脚本error.sh:
#! /bin/bash
zenity --error --text='Something very bad has happened!'
Run Code Online (Sandbox Code Playgroud)
我的incron-config:
~/Documents IN_MOVED_TO ~/scripts/error.sh
Run Code Online (Sandbox Code Playgroud)
如果我error.sh在终端 GUI 对话框中运行会弹出,但不会在上面的 incron 场景中运行。
当我在 Documents 文件夹中移动文件时,如何让 zenity 弹出该对话框?
zet*_*tah 20
在这里找到答案。添加到~/.bashrc:
xhost local:$USER > /dev/null
Run Code Online (Sandbox Code Playgroud)
然后在由 cron 调用的脚本中使用 zenity,如下所示:
zenity --error --text='Something very bad has happened!' --display=:0.0
Run Code Online (Sandbox Code Playgroud)
添加--display=:0.0是重要的
要在 cron 上运行 GUI 命令,您必须告诉 cron 程序应该使用什么显示。为此,您使用:export DISPLAY=:0
对于每 30 分钟一次的 zenity 通知,请编辑crontab -e并设置如下作业:
*/30 * * * * export DISPLAY=:0 && /somedirectory/your_zenity_script.sh
Run Code Online (Sandbox Code Playgroud)
详细方法:链接