StoneRen

mac电脑休眠时自动关闭蓝牙

Aug 25, 2025

问题

日常情况下,mac连接蓝牙耳机,一切都好。

但是在有些情况,你把mac放在背包里的时候,想着耳机能连接手机或者其他设备。

这个时候就出现问题了,因为耳机还连接着mac呢,而这个时候又不是很方便再打开背包打开电脑,关闭蓝牙。

Tip

当然如果你用的是苹果耳机,就不会发生此类问题。因为当有第二个设备尝试连接苹果耳机的时候,苹果耳机会断开当前连接。
但市面上大部分蓝牙耳机还是我说的第一种情况,已经连接上的蓝牙耳机,不会被第二个设备强行断开。
当然这是一种很好的安全策略,所以也无法来评判好坏。

所以,现在的解决方案很简单,就是mac电脑只要休眠的时候,断开蓝牙就好了。

解决方案

看起来很简单,在电脑休眠的时候,能够自动关闭蓝牙连接。

但是翻遍网络上的一些解决方案,完全无用。

比如关闭自动唤醒。

当你把所有mac电脑的设置都配置下之后,发现于事无补。

下面就是我实验过后的一个切实可行的方案。

安装

brew install sleepwatcher blueutil
  • sleepwatcher: 睡眠检测
  • blueutil: 蓝牙控制

配置

step 1: 创建 ~/.sleep

#!/bin/sh
/opt/homebrew/bin/blueutil --power 0

step 2: 创建 ~/.wakeup

#!/bin/sh
/opt/homebrew/bin/blueutil --power 1

step 3: 添加权限

chmod +x ~/.sleep ~/.wakeup

step 4: 启动服务

brew services start sleepwatcher

测试

手动执行 pmset sleepnow 设置休眠,然后测试蓝牙耳机是否关闭。

唤醒后,测试蓝牙是否已经连接上。

Note

which blueutil来确定蓝牙工具的位置,调整为你自己的。 因为sleepnow中,无法加载环境变量,所以这里必须设定blueutil为绝对路径。

0-PRESENT © StoneRenver:2509181051