Mein Macbook ging seit längerem nicht mehr automatisch in den Schlafmodus. Normalerweise kann man in den Systemeinstellungen eine Zeit einstellen, nach der sich der Mac ausschaltet. Nur noch eine kleine LED bleibt pulsierend an. Doch bei mir ging nur der Bildschirm nach einer Minute (wie eingestellt) automatisch aus, die Festplatte lief weiter.Erst nach etwa 8 Minuten war auch die Festplatte leise, aber trotzdem war das nicht der richtige Sleep-Zustand, wie ich ihn kannte. Zuviel Strom floss durch das Strommessgerät. Wenn ich Sleep manuell gestartet hatte, funktionierte alles so wie es sollte. Der Mac ging aus, nur eine LED pulsiert, alles ist leise und ohne Stromverbrauch.
Viele andere scheinen ähnliche Probleme mit ihrem Mac zu haben. Doch die Ursachen sind so vielfältig, dass keine Anleitung, kein Forum und keine Software mir wirklich helfen konnte, mit einer Ausnahme. Ich beschreibe den Weg relativ detailliert, vielleicht hat ja jemand noch einen Tipp woran es tatsächlich liegen könnte.
Die Ursachen
Da ich den Mac auch benutze um mit EyeTV Fernsehsendungen aufzuzeichnen oder mit Plex Filme zu streamen, wenn ich unterwegs bin, sollte mein Macbook angeschaltet sein, wenn es diese Aufgaben erfüllen soll. Zu anderen Zeitpunkten, zu denen ich es nicht benutze, soll es möglichst keinen Strom verbrauchen und nach kurzer Zeit automatisch in den Sleepmodus gehen.
Eine ganz gute Anleitungen um herauszufinden, warum der Sleep-Modus nicht mehr funktioniert, fand ich bei Heise.de.
Leider stellte sich damit raus, dass wohl ein Hardwareproblem die Ursache ist. Selbst wenn ich im Save-Mode MacOS gestartet habe, funktionierte der Sleep-Mode nicht. Ich vermute mittlerweile, dass es damit zu tun hat, dass ich eine zweite Festplatte (128 GB SSD + 500 GB HDD) anstelle des Superdrives eingebaut habe. Vielleicht habe ich aber auch irgendwelche Systemeinstellungen “zerfrickelt”. Kurzum: Die genaue Ursache ist mir immer noch unbekannt, selbst nach vielen (gescheiterten) Versuchen es herauszufinden.
Versuche
Bevor ich auf den Workaround umgestiegen bin, habe ich natürlich alles versucht, um den nativen Sleep-Modus wieder zu reparieren. Falls Ihr keinen Hardwarefehler habt, könnten Euch diese Schritte weiterhelfen.
Im Terminal habe ich das Manual vom Befehl pmset durchgelesen (Terminal: man pmset), alle möglichen Optionen systematisch verändert und nach einem Neustart ausprobiert. Nichts hat geholfen. Auch nicht das Löschen der PowerManagement.plist oder das Resetten von SMC oder PRAM. Auch die Anleitung von Apple bei “sleep issues” half nicht.
Nebenbei habe ich noch den Sleepwatcher installiert, in der Hoffnung, dass dieser mir irgendwie helfen könnte. Tat es leider erstmal nicht. Die Skripte, die er bei Beginn des Sleep-Modus laufen lassen sollte, starteten erst, als der Mac wieder neu startete. Da war es natürlich zu spät um beispielsweise die Festplatte auszuwerfen.
Ich habe versucht die automatisch startenden Programme abzuschalten, selbst die LaunchDaemons und LaunchAgents habe ich systemweit ausgemistet. Nichts half. Ich zögerte EyeTV komplett zu löschen und neuzuinstallieren, auch wenn das eine Fehlerquelle hätte sein können.
Ich war kurz davor eine Neuinstallation des gesamten Systems zu machen, aber das hätte noch mehr Zeit gefressen. Ich wollte “einfach nur” ein funktionierendes System, das schläft, wenn ich es nicht brauche und aus der Ferne wieder aufwacht, wenn es funktionieren soll.
Die Software-Lösung „Narcolepsy“, sowohl in Version 1.0, als auch Version 2.0, hat bei mir überhaupt nicht funktioniert. Andere Software wie SmartSleep oder InsomniaX gingen an meinem Problem vorbei.
Der Workaround (oder: keine Lösung ist die bessere Lösung)
Image may be NSFW.
Clik here to view.An vielen Stellen wurde die Software „PleaseSleep“ erwähnt, weil sie das Problem Nicht-Schlafen-Wollender-Macs umgeht. Andererseits schrieben einige, dass “PleaseSleep” den Mac aber auch dann schlafen legt, wenn gerade eine Aufnahme in EyeTV läuft: Sehr ungünstig!
Auch wenn in vielen Foren anderes steht: „Pleasesleep“ lässt sich perfekt mit EyeTV und Plex nutzen, wenn man folgendes AppleSkript bei “If the Exception Script returns True” eingibt (Download als ZIP: PleaseSleep-Script.scpt)
set Variable to false as boolean
--Stay awake if iTunes is playing tell application "iTunes" if it is running then if player state is not stopped and player state is not paused then set Variable to true end if end tell
--Stay awake if EyeTV is playing or recording tell application "EyeTV" if it is running then if playing is true then set Variable to true if is_recording is true then set Variable to true end if end tell
--Stay awake if the local Plex Client is started tell application "Plex" if it is running then set Variable to true end tell
-- Stay awake if Safari is downloading set Pfad to (get path to downloads folder) tell application "Finder" set Downloads to (files in Pfad whose name extension is "download") set Anzahl to (count Downloads) if Anzahl is greater than 0 then set Variable to true end if end tell
return Variable
Somit habe ich zwei Fliegen mit einer Klappe geschlagen. Alle paar Minuten überprüft das Skript, ob die Bedingungen erfüllt sind, wenn ja, dann legt er denn Mac schlafen. Perfekt!
Zuletzt sorgt das Programm Sleepwatcher dafür, dass die externe Festplatte beim Schlafen gehen automatisch ausgeworfen wird und beim Hochfahren wieder mounted. So habe ich nach dem Sleep, wenn ich die Festplatte vom Strom trenne um auch diesen Standbystrom zu sparen, keine Fehlermeldung mehr. Aber das wäre noch einen eigenen Blogbeitrag wert. Kurz noch ein Link, der bei der Installation von Sleepwatcher hilft, und ein nützliches Skript für den Sleepwatcher, das alle externen Festplatten auswirft.
#!/bin/sh # rc.sleep osascript -e 'tell application "Finder" to eject disks'
#!/bin/sh # rc.wakeup /usr/sbin/diskutil list | awk '/Apple_HFS/ {print $NF}' | xargs -I{} /usr/sbin/diskutil mount {}
Bei Fragen, schreibt gerne in die Kommentare. Ich bin gespannt auf Eure Rückmeldung und hoffe die Anleitung war hilfreich.
Update 10.12.2012:
Jetzt erkennt das Skript auch laufende Safari-Downloads.
Update 09.05.2013:
Kaputter Link durchgestrichen.
Clik here to view.
Clik here to view.