Wie kann ich verhindern, dass ein MacBook Air bei geschlossenem Deckel eine Verbindung zu einem Bluetooth-Lautsprecher herstellt?

23

Das MacBook Air stellt automatisch eine Verbindung zu einem (zuvor gekoppelten) Bluetooth-Lautsprecher her, auch wenn der Deckel geschlossen ist. Dadurch wird verhindert, dass das Gerät, das ich gerade verwende, eine Verbindung zum Lautsprecher herstellt.

Wie konfiguriere ich das MacBook Air so, dass es bei geschlossenem Deckel nicht automatisch eine Verbindung zu einem Bluetooth-Lautsprecher herstellt? Ich möchte, dass alles so funktioniert, wie es ist, wenn der Deckel geöffnet ist.

Lars Nyström
quelle
Verwandte Frage zu iOS: apple.stackexchange.com/questions/177205/…
Lars Nyström

Antworten:

12

Auf anderen Antworten aufbauen und die meisten / alle Puzzleteile geben, aber keine vollständige Lösung:

  1. Stellen Sie sicher, dass Sie überprüfen, ob Bluetooth-Geräte Ihren Mac aktivieren sollen
    • Wenn Sie das nicht möchten, deaktivieren Sie es in den Systemeinstellungen und prüfen Sie, ob das unerwünschte Verhalten weiterhin besteht (Es ist in BluetoothAdvanced…Allow Bluetooth devices to wake this computer).
  2. Wenn Sie Ihren Mac über Bluetooth-Geräte aktivieren müssen / möchten oder dies trotz Deaktivieren der Option weiterhin geschieht, gehen Sie folgendermaßen vor:

Installieren Sie ein Hilfsprogramm, um den Systemschlaf zu überprüfen (wenn Sie nur den geöffneten / geschlossenen Deckel unterscheiden möchten, ohne dass der Mac in den Ruhezustand wechselt, scheint es derzeit keinen einfachen Weg zu geben - dh ich habe nicht herausgefunden, wie dies erkannt werden kann), und schalten Sie Bluetooth um abhängig von Schlaf / Wach-Ereignissen.

Helfer zum Erkennen von Schlaf / Wach (überprüfen Sie die verschiedenen Optionen in diesem Beitrag):

Möglich, Skripte im Ruhezustand auszuführen?

Siehe auch diesen Beitrag über " Automatisches Ein- oder Ausschalten von Bluetooth je nach aktuellem Netzwerk (MBP mit Lion) ", in dem ControlPlane erwähnt wird

Bluetooth aus Skripten umschalten:

Wie steuere ich Bluetooth-Funk über die Befehlszeile?

Meine Empfehlung: Installieren Sie Blueutil über Homebrew

Lauf im blueutil power 0Schlaf

Und blueutil power 1nach dem Aufwachen

Nun zu meinem Beitrag zu diesem Problem: Wenn Power Nap ein Wake-Ereignis verursacht, versuchen Sie dieses Skript für Wake, um zwischen anderen Wake-Gründen und dem Öffnen des Deckels zu unterscheiden:

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

Es legt eine Zeitüberschreitung von 3 Sekunden fest (limitSec), ruft die aktuelle Zeit und die letzte Weckzeit ab Wake reason: EC.lidOpenund aktiviert Bluetooth erneut, wenn dies weniger als 3 Sekunden her ist

iolsmit
quelle
0

Ähnlich wie bei @iolsmit habe ich ein Skript erstellt, das Bluetooth herunterlädt und konfiguriert blueutilund sleepwatcherdeaktiviert, wenn der Computer in den Ruhezustand wechselt, und dann wieder aktiviert, wenn der Computer aufwacht.

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

Laden Sie einfach Homebrew herunter und führen Sie es bash setup.shaus dem Repo-Verzeichnis aus.

Alberto Lerdo
quelle