您似乎在使用 Dark Reader 等插件
本站已内置深色主题,建议关闭 Dark Reader 等插件以获得更好的体验。

SleepWatcher + blueutil 实现蓝牙随 MacBook 睡眠自动开关


本文将介绍如何借助 SleepWatcherblueutil,在 MacBook 进入睡眠和唤醒时自动关闭和开启蓝牙。

安装 SleepWatcher 和 blueutil

通过 Homebrew 安装:

$ brew install sleepwatcher blueutil

你也可以选择从源码编译 SleepWatcher,官网提供了完整的 Makefile。本文仅介绍使用 Homebrew 的方法。

配置脚本实现蓝牙开关

SleepWatcher 会在系统睡眠和唤醒时分别执行用户主目录下的 ~/.sleep~/.wakeup 脚本。我们通过这两个脚本调用 blueutil 来控制蓝牙状态。
需要注意的是,SleepWatcher 默认以 root 身份执行命令,但 blueutil 并不支持以 root 身份运行,因此需要切换回普通用户身份来执行。

执行以下命令确认 blueutil 路径:

$ which blueutil

编辑 ~/.sleep 脚本,添加以下内容,关闭蓝牙:

#!/bin/bash
sudo -u yourUserName blueutilPath -p 0

编辑 ~/.wakeup 脚本,添加以下内容,开启蓝牙:

#!/bin/bash
sudo -u yourUserName blueutilPath -p 1

请自行替换 yourUserNameblueutilPath

赋予脚本执行权限:

$ chmod +x ~/.sleep ~/.wakeup

启动 SleepWatcher 服务

最后,启动 SleepWatcher 服务,使配置生效:

$ brew services start sleepwatcher

这样,当 MacBook 进入睡眠时蓝牙自动关闭,唤醒时自动开启。


SleepWatcher + blueutil 实现蓝牙随 MacBook 睡眠自动开关
https://496066.xyz/sleepwatcher-blueutil/
本文作者 Mindigma
发布于 2025-08-12
更新于 2025-08-12
版权协议 CC BY-NC-SA 4.0
转载或引用本文时请遵守许可协议,注明出处,不得用于商业用途!

文章目录

  1. 安装 SleepWatcher 和 blueutil
  2. 配置脚本实现蓝牙开关
  3. 启动 SleepWatcher 服务