Launchd可防止脚本更改桌面图片

时间:2013-09-14 20:11:46

标签: python applescript launchd

我有一个小脚本我正在努力每天从http://reddit.com/r/wallpapers检索一张新照片,并将其设置为我的壁纸。当我从命令行调用脚本时,它工作得很漂亮。但是一旦我尝试设置启动守护程序,它就会保存图片,但桌面不会改变。我希望它与范围有关,但我不知道从哪里开始。

代码:

SCRIPT = """/usr/bin/osascript<<END
tell application "Finder"
set desktop picture to POSIX file "%s"
end tell
END"""

file_path = /some/file/the/script/downloaded.jpg

subprocess.Popen(SCRIPT%file_path, shell=True)

1 个答案:

答案 0 :(得分:0)

你可能是正确的,但是我在应用程序中使用“POSIX文件”命令看到奇怪的事情告诉代码块。 “POSIX文件”是一个applescript命令。您可以在“标准添加”AppleScript字典中找到它,而不是Finder的Applecript字典。因此,当您告诉Finder执行该命令时可能会出现问题,因为Finder不知道该命令。

一般的应用规则是你不应该告诉应用程序做一些不在其AppleScript字典中的事情......如果你这样做会发生奇怪的事情。而且你发生了一件奇怪的事情,所以第1步是确保你的代码尽可能干净。

所以这里有一些尝试。如上所述,我只是在猜测,因为我之前已经看过这个问题,所以值得一试。试试这个作为你的AppleScript代码。

set p to POSIX file "%s"
tell application "Finder" to set desktop picture to p