Как изменить заставку с помощью терминала (без использования панели настроек)?

Я хотел бы изменить заставку "Шквал" Кена Бернса без использования панели настроек, напрямую с помощью терминала или команды.

Ответы (2)

  1. Выйдите из системных настроек.

  2. Найдите соответствующий plist в терминале с помощью

    ls ~/Library/Preferences/ByHost/com.apple.screensaver.*.plist
    

    Вы должны увидеть что-то вроде

    /Users/<username>/Library/Preferences/ByHost/com.apple.screensaver.0B39A0DE-D1EE-59FF-85C0-6EA16FCB015B.plist
    

    Обратите внимание на буквенно-цифровую строку, разделенную дефисом. ByHostСудя по имени этого каталога , это может зависеть от хоста . (Или, может быть, это не так. На данный момент в моем распоряжении только один Mac, поэтому я не могу сказать.)

  3. В терминале выполните следующие команды (с заменой буквенно-цифровой строки, разделенной дефисом, на то, что вы нашли на последнем шаге):

    defaults write ~/Library/Preferences/ByHost/com.apple.screensaver.0B39A0DE-D1EE-59FF-85C0-6EA16FCB015B.plist moduleDict -dict moduleName iLifeSlideshows path /System/Library/Frameworks/ScreenSaver.framework/Resources/iLifeSlideshows.saver type 0
    defaults read ~/Library/Preferences/ByHost/com.apple.screensaver.0B39A0DE-D1EE-59FF-85C0-6EA16FCB015B.plist
    

Вот и все. С этим подходом есть одна проблема: кажется, что с ним зарегистрировано несколько заставок iLifeSlideshows.saver(например, Classic), и я не смог найти plist, контролирующий, какая из них отображается. Но, согласно моему тестированию, если вы выбрали «Кен Бернс» в Системных настройках, а затем изменили его на «Шквал», то при выполнении вышеуказанных команд вы вернете «Кен Бернс». В противном случае никаких гарантий — например, вы можете получить «Классический», если он последний использованный из iLifeSlideshows.saver.

Что касается Монтерея, дополнительным расположением по умолчанию является com.apple.screensaver.iLifeSlideshows. При проверке defaults -currentHost read com.apple.screensaver.iLifeSlideshowsотображается самая последняя заставка iLife, даже если в качестве текущей установлена ​​заставка, отличная от iLife. Однако записи по умолчанию недостаточно, чтобы изменить этот параметр.
А затем, найдя это индивидуальное обсуждение Apple от администратора JAMF, discus.apple.com/thread/7041066 , хитрость для заставок iLife заключается в том, чтобы запускать их killall cfprefsdпосле установки ключа стиля.

Среда:
MacBook Pro (13 дюймов, середина 2012 г.)
macOS Sierra версии 10.12.4

defaults -currentHost write com.apple.screensaver moduleDict -dict moduleName Flurry path /System/Library/Screen\ Savers/Flurry.saver/ type 0

проверить:
defaults -currentHost read com.apple.screensaver
или

open /System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine.app

## older mac OS versions pre High-sierra
## open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app



адаптировано отсюда:
http://krypted.com/mac-security/mac-setting-screen-saver-from-the-cli/
(но его нужно было обновить/улучшить)