通过 homebrew 安装 sleepwatcher,是最简单的方式:
brew install sleepwatcher
设置软件服务自启动
brew service start sleepwatcher
SleepWatcher默认执行wake事件配置文件是在~/.wakeup,执行sleep事件配置文件是在~/.sleep所以我们将下面两个脚本复制到用户目录下
nano ~/.sleep
#!/bin/bash
status=$(networksetup getairportpower en0 | grep -Ei "On$")
if [ -f /tmp/wifi.on ]; then
rm /tmp/wifi.on
fi
if [ "" != "$status" ]; then
echo "`date` -- WiFi is On ... storing statement" >> /tmp/sleep.log
touch /tmp/wifi.on
networksetup setairportpower en0 off
fi
nano ~/.wakeup
if [ -f /tmp/wifi.on ]; then
echo "`date` -- Enablig WiFi" >> /tmp/sleep.log
sleep 3
networksetup setairportpower en0 on
fi
最后执行,令上面两个脚本生效,省得重启
cp /usr/local/Cellar/sleepwatcher/2.2/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/de.bernhard-baehr.sleepwatcher-20compatibility-localuser.plist
以上办法可能失效,下面的方法可能有用.
1.重置 Mac 上的系统管理控制器
选取苹果菜单 >“关机”。
在 Mac 关机后,按下内建键盘左侧的 Shift-Control-Option,然后同时按下电源按钮。按住这些按键和电源按钮 10 秒钟。如果您的 MacBook Pro 配有触控 ID,则触控 ID 按钮也是电源按钮。
松开所有按键。
再次按下电源按钮以开启 Mac。
2.重置 NVRAM
Option+Command+P+R
将 Mac 关机,然后开机并立即同时按住以下四个按键:Option、Command、P 和 R。您可以在大约 20 秒后松开这些按键,在此期间您的 Mac 可能看似在重新启动。