蓋を閉じたときにMacBook AirがBluetoothスピーカーに接続しないようにするにはどうすればよいですか?


23

MacBook Airは、ふたが閉じられていても(以前にペアリングされていた)Bluetoothスピーカーに自動的に接続します。これにより、現在実際に使用しているデバイスがスピーカーに接続できなくなります。

蓋を閉じたときに自動的にBluetoothスピーカーに接続しないようにMacBook Airを構成するにはどうすればよいですか?蓋が開いているときに、すべてがそのまま動作するようにします。


回答:


12

他の答えに基づいて構築し、ほとんど/すべてのパズルのピースを提供しますが、ソリューション全体ではありません:

  1. BluetoothデバイスでMacをウェイクアップするかどうかを必ず確認してください
    • あなたはそれをしたくない場合は、システム環境設定でそれをオフにして、望ましくない行動が続くかどうかを確認(それは中ですBluetoothAdvanced…Allow Bluetooth devices to wake this computer
  2. Bluetoothデバイスを使用してMacをウェイクアップする必要がある場合、またはオプションをオフにしてもこの問題が引き続き発生する場合は、次の手順に従ってください。

システムのスリープを確認するヘルパープログラムをインストールします(Macがスリープしない状態で蓋の開閉のみを区別したい場合、現時点では簡単な方法はないようです。つまり、それを検出する方法がわかりませんでした)。スリープ/スリープ解除イベントに応じて。

スリープ/スリープ解除を検出するヘルパー(この投稿のさまざまなオプションを確認してください):

スリープおよびスリープ解除時にスクリプトを実行できますか?

ControlPlaneについて言及している「現在のネットワークに応じてBluetoothを自動的にオンまたはオフにする(MBP Lionを実行)」についてのこの投稿も参照してください。

スクリプトから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.lidOpen3秒未満の場合はBluetoothを再度有効にします


0

@iolsmitと同様に、私はダウンロードして設定することをスクリプトを作成blueutilし、sleepwatcherマシンが起動時に無効にブルートゥースにマシンがスリープ状態になり、その後、再び有効にします。

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

homebrewをダウンロードbash setup.shして、repoディレクトリから実行します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.