Launchd阻止脚本更改桌面图片

2024-06-08 19:02:00 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: path代码命令行脚本comhttp进程图片
1条回答
网友
1楼 · 发布于 2024-06-08 19:02:00

原因你可能是对的,但我看到应用程序中的“POSIX文件”命令有一些奇怪的地方POSIX文件”是一个applescript命令。您可以在“标准添加”applescript字典中找到它,而不是查找程序的applescript字典。因此,当您告诉查找程序执行该命令时可能会出现问题,因为查找程序不知道该命令。你知道吗

一般的applescript规则是,您不应该告诉应用程序执行applescript字典中没有的操作。。。如果你这样做,奇怪的事情就会发生。你有一个奇怪的事情发生,所以第一步是要确保你的代码是尽可能干净的。你知道吗

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

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

相关问题 更多 >