这是我向小组提出的第一个问题。我希望它足够清楚。我正在设置每分钟的时间。我包括了来自终端的信息。希望这足够清楚。
steve@steve-pc:~$ ps aux | grep cron
root 1075 0.0 0.0 38428 3180 ? Ss 09:15 0:00 /usr/sbin/cron -f
$ crontab -e
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/bash
MAILTO=steve
* * * * * /home/steve/scripts/beep.sh
crontab: installing new crontab
steve@steve-pc:~$ cat ./scripts/beep.sh
#!/bin/sh
echo '\a'
notify-send "cron working"
$ grep CRON /var/log/syslog
Sep 9 09:21:01 steve-pc CRON[3618]: (steve) CMD (/home/steve/scripts/beep.sh"/n")
Sep 9 09:21:01 steve-pc CRON[3617]: (CRON) info (No MTA installed, discarding output)
Sep 9 10:49:01 steve-pc CRON[5099]: (steve) CMD (/home/steve/scripts/beep.sh)
Sep 9 10:49:01 steve-pc CRON[5098]: (CRON) info (No MTA installed, discarding output)
答案1
我实际上不太了解notify-send,但我知道crontabs:)
首先,请记住,cron 进程是从系统的核心运行的(传统上从 init 开始,我不知道 gits 最近是否有所改变:)
因此,你不能假设你想要由 cron 执行的命令将会在它是小路。
解决此问题的最简单方法是指定您运行的命令的完整路径,例如使用 /usr/bin/notify-send 而不是仅使用 determine-send。
祝你好运!