Last active
February 22, 2021 15:55
-
-
Save tyilo/c92684d277acb62272b5 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Install sleepwatcher | |
cd /tmp | |
curl -O http://www.bernhard-baehr.de/sleepwatcher_2.2.tgz | |
tar -zxvf sleepwatcher_2.2.tgz | |
cd sleepwatcher_2.2 | |
sudo mkdir -p /usr/local/sbin /usr/local/share/man/man8 | |
sudo cp sleepwatcher /usr/local/sbin | |
sudo cp sleepwatcher.8 /usr/local/share/man/man8 | |
sudo cp config/de.bernhard-baehr.sleepwatcher-20compatibility.plist /Library/LaunchAgents | |
sudo cp config/rc.* /etc | |
cd .. | |
rm -r sleepwatcher_2.2* | |
# Add bluetooth script to /etc/rc.wakeup (the script requires root) | |
sudo tee -a /etc/rc.wakeup <<EOF | |
kextunload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport | |
kextload -b com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport | |
EOF | |
# Load the agent to start sleepwatcher | |
sudo launchctl load /Library/LaunchAgents/de.bernhard-baehr.sleepwatcher-20compatibility.plist |
Looks like the kextunload
commands don't actually work anymore on High Sierra. However, there's a 3rd party command line tool for doing the same thing and it works: https://github.com/toy/blueutil – you can tweak the scripts mentioned here to use blueutil
instead, or there's even a full-blown solution (very similar to what we have seen on this page already): https://gist.github.com/ralph-hm/a65840c4f5e439b90170d735a89a863f
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm on macOS Sierra and using homebrew. I tried following the steps here and a few other locations, but ran into isses with the plist files being slightly different and not loading the correct
/etc/rc.wakeup
file. I modified the script above and got these commands that got things working reliably for me. Hope it helps someone else.