Якщо ви нещодавно оновили свій Mac до 14.1, ви могли помітити кілька досить дратівливих спливаючих вікон, які повідомляють, що “Додому” хоче використовувати ваше поточне місцезнаходження.

Це викликає подив, оскільки з’являється, навіть якщо користувач ніколи не користувався додатком “Додому” і навіть не входив до iCloud. Це відбувається тому, що в macOS Sonoma з’явилася нова функція під назвою Grid Forecast, яку користувачі обирають за замовчуванням. Теоретично, це гарна функція, яка допомагає визначити чисті джерела енергії, але спливаюче вікно трохи дратує. Особливо дратує те, що воно може з’являтися знову і знову для одного і того ж облікового запису користувача, навіть якщо ви натиснули “Не дозволяти”.

 

Існує кілька способів вимкнути цю функцію.

 

У графічному інтерфейсі ви можете слідувати інструкціям Apple:

  • Відкрийте програму “Додому”
  • Натисніть кнопку “Більше…”
  • Виберіть “Основні налаштування”
  • Натисніть “Енергія”
  • Вимкніть опцію “Показувати прогноз енергоспоживання”

Звичайно, ви також можете налаштувати це за допомогою скрипта. Якщо ви ввійшли в обліковий запис і хочете вимкнути цей параметр для свого облікового запису, вимкнути підказки можна одним рядком:

/usr/bin/defaults write com.apple.Home showHomeEnergy -bool false

Якщо ви користуєтесь системами керування пристроїв

 

Якщо ви відправляєте скрипт кінцевим користувачам за допомогою MDM, наприклад, Jamf, у вас є кілька варіантів. Одним із них є запуск скрипта за допомогою чогось на кшталт Outset, щоб він працював для кожного користувача. В іншому випадку, оскільки MDM виконує команди від імені користувача root, вам слід запустити скрипт, який знайде користувача, що увійшов до системи у поточний момент, і виконає його від імені цього користувача. Ось один з них, який я використовую:

#!/bin/zsh

# Get the currently logged in user

currentUser=$( echo “show State:/Users/ConsoleUser” | scutil | awk ‘/Name :/ { print $3 }’ )

# Get uid logged in user

uid=$(id -u “${currentUser}”)

runAsUser() {

       if [[ “${currentUser}” != “loginwindow” ]]; then

      launchctl asuser “$uid” sudo -u “${currentUser}” “$@”

        else

        echo “no user logged in”

        exit 1

       fi

}

runAsUser /usr/bin/defaults write com.apple.Home showHomeEnergy -bool false

Це добре працює в нашому середовищі, оскільки наші користувачі працюють з ноутбуків, де вони, як правило, завжди входять у свій основний обліковий запис. Ми використовуємо це  в Jamf як політику recurring check-in.

Сподіваюся, це допоможе. Це було протестовано мною та іншими учасниками спільноти Mac Admins Slack, оскільки 14.1 була в бета-версії, і я підтвердив, що коли скрипт запускається в 14.0, налаштування зберігаються при оновленні до 14.1. Ніяких обіцянок на майбутнє. Сподіваюся, Apple зможе перенести цей параметр на налаштування за замовчуванням, а не на відключення, так що в наступних версіях не потрібно буде змінювати налаштування!

Англійську версію статі ви можете переглянути за посиланням.