Jak zapobiec podłączaniu MacBooka Air do głośnika Bluetooth, gdy jego pokrywa jest zamknięta?

23

MacBook Air automatycznie łączy się z (wcześniej sparowanym) głośnikiem Bluetooth, nawet gdy pokrywa jest zamknięta, co uniemożliwia podłączenie aktualnie używanego urządzenia do głośnika.

Jak skonfigurować MacBooka Air, aby nie łączył się automatycznie z głośnikiem Bluetooth po zamknięciu pokrywy? Chcę, żeby wszystko działało tak, jak jest, gdy pokrywa jest otwarta.

Lars Nyström
źródło
Powiązane pytanie dotyczące iOS: apple.stackexchange.com/questions/177205/…
Lars Nyström

Odpowiedzi:

12

Opierając się na innych odpowiedziach i dając większość / wszystkie elementy układanki, ale nie całe rozwiązanie:

  1. Sprawdź, czy chcesz, aby urządzenia Bluetooth wybudzały komputer Mac
    • Jeśli nie chcesz tego, odznacz to w preferencjach systemowych i sprawdź, czy niepożądane zachowanie się utrzymuje (Jest w BluetoothAdvanced…Allow Bluetooth devices to wake this computer)
  2. Jeśli potrzebujesz / chcesz obudzić komputer Mac przez urządzenia Bluetooth lub nadal tak się dzieje, mimo wyłączenia opcji, wykonaj następujące kroki:

Zainstaluj program pomocniczy, aby sprawdzić sen systemu (jeśli chcesz rozróżnić tylko otwartą / zamkniętą pokrywę bez spania komputera Mac, wygląda na to, że obecnie nie ma łatwego sposobu - tj. Nie dowiedziałem się, jak to wykryć), i przełącz Bluetooth w zależności od zdarzeń snu / czuwania.

Pomocnicy w wykrywaniu snu / czuwania (sprawdź różne opcje w tym poście):

Czy można uruchamiać skrypty w trybie uśpienia i wybudzenia?

Zobacz także ten post na temat „ Automatycznie włączaj lub wyłączaj bluetooth w zależności od bieżącej sieci (MBP z Lionem) ”, wspominając o ControlPlane

Przełącz bluetooth ze skryptów:

Jak kontrolować bezprzewodowe radio Bluetooth z wiersza poleceń?

Moja rekomendacja: zainstaluj blueutil przez homebrew

Biegnij blueutil power 0spać

I blueutil power 1po przebudzeniu

Teraz o moim wkładzie w ten problem: jeśli drzemka powoduje zdarzenie pobudki, wypróbuj ten skrypt dla wybudzenia, aby odróżnić inne powody budzenia i otwarcie pokrywy:

#!/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

Ustawia limit czasu na 3 sekundy (limitSec), pobiera aktualny czas i ostatni czas budzenia Wake reason: EC.lidOpen, a jeśli było to mniej niż 3 sekundy temu, ponownie włączy Bluetooth

iolsmit
źródło
0

Podobnie jak @iolsmit, stworzyłem skrypt, który pobiera i konfiguruje blueutiloraz sleepwatcherwyłącza bluetooth, gdy komputer przechodzi w tryb uśpienia, a następnie włącza się ponownie, gdy komputer się budzi.

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

Wystarczy pobrać homebrew, a następnie uruchomić bash setup.shz katalogu repo.

Alberto Lerdo
źródło