如何以编程方式更改 Mac OS X 中的背景?

新手上路,请多包涵

我将如何以编程方式更改 Mac OS X 中的桌面背景?我想使用 python,但我对任何可能的方式都感兴趣。我可以连接到终端并调用某个命令吗?

原文由 stalepretzel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 547
2 个回答

从 python 中,如果你安装了 appscript ( sudo easy_install appscript ),你可以简单地做

from appscript import app, mactypes
app('Finder').desktop_picture.set(mactypes.File('/your/filename.jpg'))

否则,此 applescript 将更改桌面背景

tell application "Finder"
    set desktop picture to POSIX file "/your/filename.jpg"
end tell

您可以使用 osascript 从命令行运行它,或者使用类似的东西从 Python 运行它

import subprocess

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

def set_desktop_background(filename):
    subprocess.Popen(SCRIPT%filename, shell=True)

原文由 dF. 发布,翻译遵循 CC BY-SA 2.5 许可协议

如果您正在为当前用户执行此操作,则可以从 shell 运行:

 defaults write com.apple.desktop Background '{default = {ImageFilePath = "/Library/Desktop Pictures/Black & White/Lightning.jpg"; };}'

或者,作为 root,对于另一个用户:

 /usr/bin/defaults write /Users/joeuser/Library/Preferences/com.apple.desktop Background '{default = {ImageFilePath = "/Library/Desktop Pictures/Black & White/Lightning.jpg"; };}'
chown joeuser /Users/joeuser/Library/Preferences/com.apple.desktop.plist

您当然会想要替换图像文件名和用户名。

新设置将在 Dock 启动时生效——无论是在登录时,还是在您

killall Dock

[基于 其他地方的帖子,并基于 Matt Miller 的回答 中的信息。]

原文由 Clinton Blackmore 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题