MacOS下如何在电脑休眠(合盖状态)时禁用蓝牙?
MacOS下如何在电脑休眠(合盖状态)时禁用蓝牙?
我太懂这种被休眠的Mac突然抢连蓝牙耳机的烦躁了!之前自己也被这个问题坑过好几次,给你几个亲测好用的解决办法:
方法一:用终端命令禁用休眠时的蓝牙自动连接
系统设置里确实没有直接的开关,但Mac藏了个偏好设置可以搞定这个。打开「终端」(在启动台的「其他」文件夹里找得到),输入下面这行命令,按回车:sudo defaults write /Library/Preferences/com.apple.Bluetooth.plist DontPageAudioDevices 1
输入你的管理员密码就行(输入的时候不会显示字符,正常敲键盘就好),完成后重启电脑。这样合盖休眠的Mac就不会再偷偷自动连接你的蓝牙设备了。要是之后想恢复这个功能,把命令里的1改成0再执行一遍,重启就OK。
方法二:关闭「唤醒以供网络访问」(最省心的系统级操作)
这个方法不用敲任何命令,直接在系统设置里就能搞定:
- 打开「系统设置」→「通用」→「节能」(如果是MacOS Monterey及更早的版本,这个选项可能在「电池」设置里)
- 找到「唤醒以供网络访问」,把这个选项关掉
这个选项本来是让Mac在休眠时保持网络和蓝牙活跃,方便你远程唤醒电脑。关掉之后,合盖时蓝牙就会彻底进入休眠状态,不会再自动连接设备了。唯一要注意的是,关掉后你也没法远程唤醒Mac了,要是你不需要这个远程功能,这个绝对是首选方案。
方法三:自动切换蓝牙状态(合盖关,开盖开)
要是你既不想影响开盖后的蓝牙使用,又要杜绝休眠时的自动连接,可以用「自动操作」做个小自动化脚本:
- 打开「自动操作」,新建一个「快速操作」,设置为接收「没有输入」,适用「任何应用程序」
- 搜索并添加「运行Shell脚本」动作,把默认的脚本内容替换成:
# 检测蓝牙状态并自动切换 if /usr/sbin/system_profiler SPBluetoothDataType | grep -q "Power: On"; then /usr/bin/blueutil -p 0 else /usr/bin/blueutil -p 1 fi - 这个脚本需要用到
blueutil工具,你可以通过Homebrew安装:先在终端输入brew install blueutil(如果还没装Homebrew,终端输入/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"就能安装,这是Mac官方认可的包管理器,完全安全) - 最后去「系统设置」→「通用」→「自动化」里找到你刚创建的快速操作,设置两个触发条件:「当电脑进入休眠」和「当电脑被唤醒」
这样每次合盖休眠时蓝牙会自动关闭,开盖唤醒后又会自动打开,彻底不用手动操心啦!
备注:内容来源于stack exchange,提问作者Topher Hunt




