无法运行打开终端窗口的cron作业

时间:2020-06-22 05:10:47

标签: cron gnome-terminal

我有一个cron作业,每个周末调用一个脚本运行rsync并将我的文件同步到外部驱动器。我在Linux Mint 16或17上可以顺利运行。我需要显示一个终端窗口以向用户显示状态,并要求他们打开驱动器

然后我安装了Mint 19.1,脚本停止执行。如果我在不显示UI的情况下运行脚本,则可以正常运行脚本,但是无法在可见的终端中运行该脚本。

我在crontab中使用此命令 我要运行的脚本是test2.sh,第一个运行正常

    MAILTO=""
05 00 * * * env DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus /mnt/Files/Software/Software\ Customizations/Linux/Scripts/rsync_backup_daily.sh
*/1 * * * * export DISPLAY=:0 && export XAUTHORITY=/home/vortex/.Xauthority && gnome-terminal -e "/mnt/Files/Software/Software\ Customizations/Linux/Scripts/test2.sh"

运行systemctl status cron可以给我

Jun 22 00:41:01 MK-PC CRON[5592]: pam_unix(cron:session): session opened for user sam by (uid=0)
Jun 22 00:41:01 MK-PC CRON[5593]: (sam) CMD (export DISPLAY=:0 && export XAUTHORITY=/home/sam/.Xauthority && gnome-terminal -e "/mnt/Files/Software/Software\ Customizations/Linux/Scripts/test2.sh")
Jun 22 00:41:02 MK-PC dbus-daemon[5603]: [session uid=1000 pid=5601] AppArmor D-Bus mediation is enabled
Jun 22 00:41:05 MK-PC CRON[5592]: pam_unix(cron:session): session closed for user sam

1 个答案:

答案 0 :(得分:0)

crontab作业作为根without terminal attached运行。

但是您可以在终端中检索更新(肮脏的方式,但是可以工作)。

*/1 * * * *   /mnt/Files/Software/Software\ Customizations/Linux/Scripts/test2.sh > /tmp/myscript.output

然后在终端机上

gnome-terminal -e 'watch -n 60 cat /tmp/myscript.output'

希望获得帮助

编辑:

* *     * * *   root    export DISPLAY=:0.0 && xed /home/vi/test 

您还需要允许连接到当前的X Server:

xhost local:root

问题是最后一行不是永久性的,下次重新启动时需要再次输入。