我正在尝试创建一种随机更改桌面背景的方法。我使用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运行,没有任何反应,也没有产生错误。它只是每十分钟运行一次,我的背景只有在我手动操作时才会改变。
我已经验证了
答案 0 :(得分:2)
cron环境通常与交互式shell中的环境不同。在这种情况下,您应该检查DISPLAY环境变量,许多X实用程序使用它来确定要连接的会话。
如果未设置,feh
可能会以您描述的方式失败。
可以在crontab中使用的命令行中直接设置缺少的环境变量,或者可以编写设置环境的包装脚本,然后调用feh
,然后从cron调用包装器。