Из 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)
Добавить к ответ Matt Miller : можно использовать subprocess.call () для выполнения команды оболочки как так:
import subprocess
subprocess.call(["defaults", "write", "com.apple.Desktop", "background", ...])
Вы могли также использовать py-appscript вместо Popening osascript или использования ScriptingBridge с pyobjc, который включен в 10,5, но более громоздкий для использования.
Можно назвать "запись значений по умолчанию com.apple. Настольный Фон...", как описано в этой статье: http://thingsthatwork.net/index.php/2008/02/07/fun-with-os-x-defaults-and-launchd/
статья также входит в сценарии этого для выполнения автоматически, но первое немного должно запустить Вас.
Вы могли бы также интересоваться страницами справочника значений по умолчанию: http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/defaults.1.html
Если вы делаете это для текущего пользователя, вы можете запустить, из оболочки:
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
Вы, конечно, хотите заменить имя файла изображения и имени пользователя.
Новая настройка вступит в силу, когда док запускается - либо при входе в систему, либо, когда вы
killall Dock
[основывается на публикация в другом месте , и основана на информации из Ответ Мэтта Миллера .]