我正在使用桌面运行几乎全新的 Raspbian Stretch 4.9 图像,并且有一个程序每隔几分钟就会为计算机背景创建一个新图像。
我正在尝试创建一个 cron 作业以使用 pcmanfm 正确更新背景,并且按照此处的建议,创建了以下名为 update.sh 的脚本来设置背景:
!#/bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/pi/.Xauthority
pcmanfm -w '/home/pi/folder/image.png'
该脚本是可执行的,当它从终端运行时,它会按预期运行。我创建了一个 crontab 来自动运行它:
* * * * * /home/pi/folder/update.sh > /home/pi/folder/log.txt 2>&1
当 cron 作业每分钟触发一次时,会出现一个弹出窗口,并显示错误消息“桌面管理器未处于活动状态”。使用“确定”按钮将其关闭,日志文件显示:
** Message: x-terminal-emulator has very limited support, consider choose another terminal
我已经直接在 crontab 中尝试过该命令
* * * * * DISPLAY=:0 && pcmanfm -w '/home/pi/folder/image.png' > /home/pi/folder/log.txt 2>&1
而这次的错误不同
Cannot open display:
我不完全确定这样做有什么意义,尽管环顾四周,似乎 cron 工作可能很困难。我不确定这是否是路径或环境问题,因为我不知道有关这些事情的很多细节,但我认为这不是问题,因为我使用的是图像和脚本的完整路径。这不应该是权限错误,因为我在用户 crontab 和系统 crontab 上都尝试过,但都失败了。(此外,默认情况下,默认的 pi 用户默认具有 root 权限。)我不确定还有什么要搜索或尝试的,所以如果有人能指出我正确的方向或以前遇到过这个问题,我会寻求帮助。