我有一个python脚本,它通过gconf将桌面墙纸正确设置为给定文件夹中的随机图片。在
然后在crontab中有以下条目
* * * * * python /home/bolster/bin/change-background.py
syslog正确地报告了执行情况
Apr 26 14:11:01 bolster-desktop CRON[9751]: (bolster) CMD (python /home/bolster/bin/change-background.py)
Apr 26 14:12:01 bolster-desktop CRON[9836]: (bolster) CMD (python /home/bolster/bin/change-background.py)
Apr 26 14:13:01 bolster-desktop CRON[9860]: (bolster) CMD (python /home/bolster/bin/change-background.py)
Apr 26 14:14:01 bolster-desktop CRON[9905]: (bolster) CMD (python /home/bolster/bin/change-background.py)
Apr 26 14:15:01 bolster-desktop CRON[9948]: (bolster) CMD (python /home/bolster/bin/change-background.py)
Apr 26 14:16:01 bolster-desktop CRON[9983]: (bolster) CMD (python /home/bolster/bin/change-background.py)
但没有桌面变化无常,有什么想法吗?在
为了设置DISPLAY环境变量,我将它直接放在crontab中。另外,我将使脚本可执行,并给它一个适当的头(
#!/usr/bin/env python
),以便它可以直接执行。另外,当crontab运行时,您可以依赖于PWD被设置为HOME。在我的crontab应该是这样的:
您还可以设置路径(与DISPLAY相同),这样就不需要
bin/
。在在crontab中设置环境的主要问题是值是插值的而不是变量。例如,这不能给出预期的结果:
^{pr2}$您的脚本依赖于
DISPLAY
环境变量,该变量是在X会话中从shell执行脚本时设置的,但在从cron运行脚本时则不设置。在根据Bolo的观察,我忘记了在脚本或crontab中构建显示。在
最简单的解决方案是在crontab前面加上
env DISPLAY=:0.0
所以:
相关问题 更多 >
编程相关推荐