Membangun jawaban lain dan memberikan sebagian besar / semua potongan puzzle tetapi tidak seluruh solusi:
- Pastikan untuk memeriksa apakah Anda ingin perangkat Bluetooth membangunkan Mac Anda
- Jika Anda tidak menginginkannya, hapus centang di preferensi sistem dan periksa apakah perilaku yang tidak diinginkan tetap ada (Ada di
Bluetooth
→ Advanced…
→ Allow Bluetooth devices to wake this computer
)
- Jika Anda perlu / ingin membangunkan Mac Anda dengan perangkat Bluetooth atau ini terus terjadi meskipun mematikan opsi, ikuti langkah-langkah ini:
Instal program pembantu untuk memeriksa sistem tidur (jika Anda ingin membedakan hanya tutup buka / tutup tanpa Mac tertidur, tampaknya saat ini tidak ada cara yang mudah - yaitu saya tidak mengetahui cara mendeteksi itu), dan beralih Bluetooth tergantung pada acara tidur / bangun.
Pembantu mendeteksi tidur / bangun (periksa berbagai opsi di pos ini):
Lihat juga posting ini tentang " Menghidupkan atau mematikan Bluetooth secara otomatis tergantung pada jaringan saat ini (MBP yang menjalankan Lion) " yang menyebutkan ControlPlane
Alihkan bluetooth dari skrip:
Rekomendasi saya: instal blueutil via homebrew
Lari blueutil power 0
saat tidur
Dan blueutil power 1
setelah bangun
Sekarang tentang kontribusi saya untuk masalah ini: Jika power nap menyebabkan acara bangun coba script ini untuk bangun untuk membedakan antara alasan bangun lainnya dan pembukaan tutup:
#!/bin/bash
limitSec=3
currentEpoch=$(date "+%s")
wakeEpoch=$(cat /var/log/system.log | grep LidOpen | tail -n 1 | date -j -f "%b %d %T" "$(cut -c1-15)" "+%s")
wakeSeconds=$(( $currentEpoch - $wakeEpoch ))
if [[ $wakeSeconds -lt $limitSec ]]; then
logger "Enabling bluetooth again due to lid open"
blueutil power 1
fi
Ini menetapkan batas waktu 3 detik (limitSec), mendapatkan waktu saat ini dan terakhir kali bangun Wake reason: EC.lidOpen
, dan jika itu kurang dari 3 detik yang lalu itu akan mengaktifkan kembali Bluetooth