用户Crontab + Python +随机壁纸=不工作?

Bol*_*ter 5 python ubuntu cron gnome gconf

我有一个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)
Run Code Online (Sandbox Code Playgroud)

但没有任何桌面变化,任何想法?

Bol*_*olo 6

您的脚本取决于DISPLAY环境变量,该变量在X会话中从shell执行脚本时设置,但在从cron运行脚本时取消设置.

  • @Andrew我虽然做到了.你的问题是"任何想法?",鉴于您提供的信息有限,我给了您最可能的理由.我已经正确地猜到问题不在于cron或gconf,它与特定的环境变量有关.看到你对*NIX和Python显然很流利,我觉得不需要教你如何设置环境变量(对于记录,它是在Python中的`os.environ ["DISPLAY"] = ...` ). (4认同)
  • 请以答案的形式陈述你的答案:) (2认同)