【问题标题】:Launchd prevents script from changing desktop pictureLaunchd 阻止脚本更改桌面图片
【发布时间】:2013-09-14 20:11:45
【问题描述】:

我正在编写一个小脚本,每天从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)

【问题讨论】:

    标签: python applescript launchd


    【解决方案1】:

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

    一般的applescript 规则是,您不应该告诉应用程序执行不在其applescript 字典中的操作...如果您这样做,可能会发生奇怪的事情。并且您发生了一件奇怪的事情,因此第 1 步是确保您的代码尽可能干净。

    所以这里有一些东西可以尝试。如前所述,我只是在猜测,因为我以前见过这个问题,所以值得一试。试试这个作为你的 applescript 代码。

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

    【讨论】:

      猜你喜欢
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      相关资源
      最近更新 更多