次の簡単な python スクリプトを作成しました。これを Ubuntu 12.04 で cron ジョブとして設定して、1 時間に 1 回壁紙を変更するつもりでした。端末から完全に実行すると、スクリプトが実行され、壁紙が変更されます。しかし、cron ジョブを設定すると、syslog で cron ジョブが実行されたことを確認できますが、壁紙は変更されませんか?
#!/usr/bin/python
import os
import random
directory = os.getcwd() + '/'
files = os.listdir('.')
random.shuffle(files)
files.remove('.project')
files.remove('.pydevproject')
files.remove('background.py')
background = files[0]
setup = 'file://' + directory + background
print setup
os.system("gsettings set org.gnome.desktop.background picture-uri '%s'" % (setup))