Dies ist vielleicht nicht Ihr Problem, aber ich hatte lange Zeit das gleiche Problem und konnte keine Antwort für mich finden. Deshalb werde ich veröffentlichen, was für mich funktioniert hat, falls später jemand vorbeikommt.
Mein MacBook Pro (und später mein iMac, da ich den Migrationsassistenten verwendet habe) konnte nicht schlafen, wenn ich für irgendetwas im Leerlauf war. Es würde mit geschlossenem Deckel schlafen, oder wenn ich es ausdrücklich sagte, würde aber nicht schlafen, wenn es in Ruhe gelassen würde, wie es nach meinen Vorlieben in Energy Saver sein sollte.
Ich hatte pmset -g assertions
die Freigabe- und andere Wake-on-LAN-Einstellungen bereits überprüft und deaktiviert, und nichts schien zu funktionieren. Bei der Überwachung pmset -g pslog
stellte ich fest, dass der Computer zur geplanten Zeit in den Ruhezustand wechseln und einige Sekunden später wieder aufwachen würde. Dabei wurde wake reason
nur das gemeldet, was zuletzt aufgerufen wurde - selbst wenn es sich um den Netzschalter handelte (das heißt, ich hatte gedrückt den Netzschalter, als ich nicht hatte. Das hat mich erschreckt). Ich hatte diese und ein Dutzend andere Antworten und Foren gelesen und konnte nichts erreichen.
Ich fand einen Hinweis, indem ich überprüfte, pmset -g log
welcher etwas detaillierter war als pslog
. Es stellte sich heraus, dass jedes Mal, wenn der Computer in den Ruhezustand ging, ein Vorgang wie folgt "abgebrochen" wurde:
3/13/13 12:00:12 AM CDT Sleep Software Sleep Sleep: Using AC 6492 secs
3/13/13 12:00:12 AM CDT Cancelled Kernel: Response from WDDMService is to cancel state change
Beim Nachschlagen von WDDMService im Aktivitätsmonitor stellte sich heraus, dass es sich um einen Hintergrunddämon handelte, der von der berüchtigten "SmartWare" installiert wurde, die auf einem externen Western Digital-Laufwerk installiert war. Also habe ich den Prozess abgebrochen und der Computer ist eingeschlafen, wie er sollte! Da ich die Software nicht benutze, habe ich sie aus launchd entfernt (ich glaube, sie heißt .plist? Ich wusste nicht wirklich, was ich dort tat), damit sie nicht wieder angezeigt wird. Jetzt funktioniert alles gut!