从cron运行命令没有错误

时间:2017-10-20 16:56:49

标签: linux cron

我正在尝试创建一种随机更改桌面背景的方法。我使用crontab每10分钟处理一次更改。

crontab

*/10 * * * * /usr/bin/feh --recursive --randomize --bg-fill 
/home/aaron/Pictures/wallpapers/minimalist 2>&1

系统日志

syslog:Oct 20 09:20:01 skull-nuc CRON[19895]: (aaron) CMD (/usr/bin/feh --recursive --randomize --bg-fill /home/aaron/Pictures/wallpapers/minimalist 2>&1)
syslog:Oct 20 09:30:01 skull-nuc CRON[20449]: (aaron) CMD (/usr/bin/feh --recursive --randomize --bg-fill /home/aaron/Pictures/wallpapers/minimalist 2>&1)

故障排除 -

首先我将shell改为sh并测试了命令。有用。我在bash中测试了命令。有用。我允许它从cron运行,没有任何反应,也没有产生错误。它只是每十分钟运行一次,我的背景只有在我手动操作时才会改变。

我已经验证了

  1. 脚本单独工作
  2. 脚本适用于sh
  3. cron服务正在运行
  4. cron正在运行没有可识别输出的命令
  5. 我不确定还能做什么

1 个答案:

答案 0 :(得分:2)

cron环境通常与交互式shell中的环境不同。在这种情况下,您应该检查DISPLAY环境变量,许多X实用程序使用它来确定要连接的会话。 如果未设置,feh可能会以您描述的方式失败。

可以在crontab中使用的命令行中直接设置缺少的环境变量,或者可以编写设置环境的包装脚本,然后调用feh,然后从cron调用包装器。

相关问题