Как предотвратить подключение MacBook Air к динамику Bluetooth, когда крышка закрыта?


23

MacBook Air автоматически подключается к (ранее сопряженному) динамику Bluetooth даже при закрытой крышке, что препятствует подключению устройства, которое я сейчас использую, к динамику.

Как настроить на MacBook Air , чтобы не автоматического подключения к Bluetooth спикера , когда крышка закрыта? Я хочу, чтобы все работало как есть, когда крышка открыта.


Связанный вопрос относительно iOS: apple.stackexchange.com/questions/177205/…
Ларс Нистрем

Ответы:


12

Основываясь на других ответах и ​​давая большинство / все кусочки головоломки, но не полное решение:

  1. Не забудьте проверить, хотите ли вы, чтобы Bluetooth-устройства будили ваш Mac
    • Если вы этого не хотите, снимите флажок в системных настройках и проверьте, сохраняется ли нежелательное поведение (оно находится в BluetoothAdvanced…Allow Bluetooth devices to wake this computer)
  2. Если вам нужно / вы хотите разбудить ваш Mac с помощью Bluetooth-устройств или это продолжается, несмотря на отключение этой опции, выполните следующие действия:

Установите вспомогательную программу для проверки спящего режима системы (если вы хотите различить только открытую / закрытую крышку без спящего режима Mac, кажется, что в настоящее время нет простого способа - т.е. я не узнал, как это обнаружить), и переключите Bluetooth в зависимости от сна / бодрствования событий.

Помощники по обнаружению сна / бодрствования (проверьте различные варианты в этом посте):

Можно ли запускать скрипты на сон и наяву?

См. Также этот пост о « Автоматическом включении или выключении Bluetooth в зависимости от текущей сети (MBP под управлением Lion) » с упоминанием ControlPlane

Переключить Bluetooth из скриптов:

Как управлять беспроводным Bluetooth-радио из командной строки?

Моя рекомендация: установить blueutil через доморощенный

Беги blueutil power 0спать

И blueutil power 1после пробуждения

Теперь о моём вкладе в эту проблему: если перерыв в питании вызывает событие пробуждения, попробуйте этот сценарий для пробуждения, чтобы различить другие причины пробуждения и открытие крышки:

#!/bin/bash
limitSec=3
currentEpoch=$(date "+%s")
wakeEpoch=$(cat /var/log/system.log | grep LidOpen | tail -n 1 | date -j -f "%b %d %T" "$(cut -c1-15)" "+%s")
wakeSeconds=$(( $currentEpoch - $wakeEpoch ))

if [[ $wakeSeconds -lt $limitSec ]]; then
    logger "Enabling bluetooth again due to lid open"
    blueutil power 1
fi

Он устанавливает тайм-аут в 3 секунды (limitSec), получает текущее время и последний раз включения с помощью Wake reason: EC.lidOpen, и если это было менее 3 секунд назад, он снова включит Bluetooth


0

Подобно @iolsmit, я создал скрипт, который загружает и настраивает blueutilи sleepwatcherотключает Bluetooth, когда машина переходит в спящий режим, а затем снова включается, когда машина просыпается.

https://github.com/alb12-la/KBOS

Просто скачайте homebrew, затем запустите bash setup.shиз каталога репо.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.