Как я могу программно изменить знания в Mac OS X?

32
задан Cœur 15 April 2017 в 18:47
поделиться

5 ответов

Из 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)
39
ответ дан 27 November 2019 в 20:08
поделиться

Добавить к ответ Matt Miller : можно использовать subprocess.call () для выполнения команды оболочки как так:

import subprocess
subprocess.call(["defaults", "write", "com.apple.Desktop", "background", ...])
1
ответ дан 27 November 2019 в 20:08
поделиться

Вы могли также использовать py-appscript вместо Popening osascript или использования ScriptingBridge с pyobjc, который включен в 10,5, но более громоздкий для использования.

0
ответ дан 27 November 2019 в 20:08
поделиться

Можно назвать "запись значений по умолчанию 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

4
ответ дан 27 November 2019 в 20:08
поделиться

Если вы делаете это для текущего пользователя, вы можете запустить, из оболочки:

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

[основывается на публикация в другом месте , и основана на информации из Ответ Мэтта Миллера .]

21
ответ дан 27 November 2019 в 20:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: