Workaround mit PleaseSleep für kaputten Schlafmodus beim Mac mit Ausnahmen für EyeTv und Plex

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)

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.

Sascha Foerster

#Bonn #Blogs #Wissenschaft

Das könnte Dich auch interessieren...

6 Antworten

  1. Carsten sagt:

    Hammer! „Der geeeeeht!“ 😀 Wie hat mich dieses Problem kolossal genervt! Das fing irgendwann bei Leopard an, dann über Snowleopard, Lion, Mountain Lion dann nur noch – nur kurz nach einer Neuinstallation ging’s mal wieder, dann wieder nicht. Hatte wirklich alles erdenkliche ausprobiert. Kann schließlich auch an den letzten Hardwareänderungen (HDD, RAM) liegen – mir egal: Grad ist er eingeschlafen!!! Danke, danke, danke, danke, danke …

  2. Freut mich sehr, dass es bei Dir auch geklappt hat. Mich hatte es auch genervt, vor allem die unnötigen Stromkosten. Schade, dass Apple es nicht fehlerfrei hinbekommt.

  3. Peter Schaaf sagt:

    Kenn ich alles von der Grundproblematic genau so:
    mauell geht , Deckel zu geht, mit Timer geht nur Monitor und Festplatte …..

    Mein MBP 17 mid 2010 verhält sich also auch genau so …verweigert Ruhezustand über Timer.

    Du hast die Experimente sicherlich immer im Netzbetrieb bei vollem Vaccu (grüner Leichte) gemacht ????

    Mehrere Feststellungen:

    Im reinen Batteriebetrtieb funktionier der Timer-Ruhezustand bei mir …. Netzbetrieb (grüne Leuchte) jedoch (idr) nicht !

    Er funktioniert bei Netzbetrieb NICHT, und zuwar unmittelbar allzeit nach jedem Reboot oder Kaltstrart…also eigentlich so gut ie immer NICHT !

    ABER : !!!!!!!
    Er unktioniert aber auch (selten) im Netzbetrieb, wenn folegnde Voraussetzung gegeben ist:

    Kommt man einmal die Situation, dass der Netzbetrieb im Ladezustand für den Accu ist, (oranbgefarbene Leuchte am Stecker) wird der Timer-Ruhezustand auch auf einmal bei angeschlossenem Netzkabel funktionieren.

    Achtung:
    Ist der Accu dann Vollfgeladen (grünes Licht) hat sich das System das dann offenbar germerkt, den nunmehr funktioniuert der Timer-Ruhezustand auch im normalen Netzbetzrieb –auch wenn man im Verlauf der folgenen tage öfter zwischen Netz und Batteriebetrieb wechselt. …..tagelang und ewig ….aber dann:

    Und jetzt kommts !!!!!

    Dieser seelige Zusatnd, den wir ja herbeiwünschen hält jedoch nur solange an, bis das System das nächsre mal neu gestartet wurde (echter Boot). !!!!!!

    Dann ist der Zustand wieder da, dass bei Netzbetrieb (und von Anfang an vollem Accu ,grüne Leuchte) der Timer-Ruhezustand wieder kaputt ist ….
    bis die Batt. das nächste mal aus unter 95% nachfgeladen wurde (orange Leuchte) und dann gehts wieder !!!!!

    Benutzt man ein MBP also quasi nur im Netzbetrieb, hat man das Gefühl , dass der Timer-Ruhezustand gar nicht funktioniert.

    ………

    Probier auch mal folgendes:
    Bring das MBP (am Netz, grün) dazu, dass der Timer-Ruhezustand wie fast immer (leider) NICHT finktioniert. obwohl ein entsprechender Timer gesetzt ist.
    (Monitor schwarz, Lüfter läuft ,LED leuchtet permanrent, und er Timer -Ruhezustand ist überfällig und es tut sich nichts)

    !!!Wenn man jetzt den Ladestecker (grün) entfernt verfällt das MBP SPONTAN in den nächsten Sekunden in den Ruhezustand …die LED vorne blinkt nun !

    Macht man im weiteren Betrieb den Netzstecker wieder dran (grün) geht der timer-Ruhezustand jedoch auch wieder nicht mehr.
    Dazu muss m,an erst mal, wie oben beschrieben den Accu erst mal wieder unter 95% bringen , und dann funktioniert der timer-Ruhezustand auch wieder im Netzbetrieb (immer grün) tadellos !!!!!

    Unsd das , wie gesagt bis man wieder mal bootet, und dann ist der angestrebte Zustand wieder „kaputt“ …… und das MBP benötigt einen Ladezyklus aus weniger als 95 % damit der Tomer-Ruhezustand für den Netzbetrieb(grün) regeneriert.

    Ich habe lange gebraucht diese Zusammenhänge zu erkenen, und reproduzierbar zu belegen.

    Due Ursache liegt aus meiner Sicht also im Wechsel der Stromversorgungsmodi, und wie das System das intern im Programm das mit den divrsen Sets in den Files dazu verarbeitet.
    Also ein Programmfehler im Mountain Lion 10.8.2 , oder ein einmal im Gebrauch „erworbener“ Systemzustand, der sich nicht mehr von selbst heilt….denn ich hab wie Du auch schon alle „Hilfen“ durch, die im Netz so kursieren.

    Teste das doch mal auf deinem Book, und gib mir per Mail
    pspierre@aol.com
    bescheid, ob das bei Dir nachvollziehbar ist.

    mfg P.Schaaf

    • Danke für deinen Kommentar! Leider hat der Sleep-Modus bei mir auch ohne Netzteil im Akku-Betrieb nicht funktioniert. Ich habe es noch mal ausprobiert:
      – Akku-Betrieb (73%) mit externem Monitor: kein Sleep
      – Akku-Betrieb (73%) ohne externen Monitor: kein Sleep
      – Netzbetrieb (73%) mit/ohne Monitor: kein Sleep
      – Netzbetrieb (99%): ebenfalls kein Sleep
      Vorsichtshalber habe ich es auch mit getrenntem Bildschirm probiert, weil das auch schon mal als Grund genannt wurde.
      Deinen zweiten Tipp mit dem Trennen des Netzteils bei gescheitertem Sleep probiere ich später noch mal aus.
      Muss ich für das Funktionieren des Sleep-Modus im Akku-Betrieb neubooten oder ging das bei Dir auch ohne?
      – Ich nutze noch 10.7.5 Snow Leopard auf dem Macbook Mid 2007. Sleep-Modus war das, was mich am Mac wirklich begeistert hatte, weil er anfangs funktionierte. Es scheint aber wirklich ein kompliziertes Stück Programmierung mit vielen Fehlermöglichkeiten zu sein.
      Danke jedenfalls für die Tipps!

  4. Peter Schaaf sagt:

    Quote
    Muss ich für das Funktionieren des Sleep-Modus im Akku-Betrieb neubooten oder ging das bei Dir auch ohne?
    Quote

    Nein , muss ich bei mir nicht ….auf Batt. gehts immer.

    Ich habe später „smart sleep“ installiert, um meine einbgebaute SSD (singledrive mit 320 GB) Schreibzyklentechnisch vorm permanenten hibernating (8GB) , beim schliessen des Deckels zu bewahren , um aber automatisch bei Batterie und Deckel zu, bei unter 20% Restrom dennoch die Sicherheit des zusätzlichen hibernate zu haben.
    Aber zu 20 % kommt man ja eher selten, insofern ist das ok, und das hab ich auch eben noch so eigerichtet.

    Nur halt beim Timergesteuerten Ruhemodus unter Netzstrom, wenn man das Book mal so stehen lässt und ggf vergisst, muss ich auf diese Eigenschaft ggf verzichten….je nachdem ob die Automatic gerade mach wieder funktioniert, oder auch nicht….was man halt nie sooo genau gerade weiss.
    (Es se den man probierts ständig , was es ja wohl nicht sein kann 🙁 )

    Ich hab ne Frage :

    Weisst Du ob ich smartsleep in gleichzeitiger Kombination mit pleasesleep verwenden kann, um auch diesen Umstand im Griff zu haben . (Verlässlicher Ruhemodus unter Netzstrom , bzw überhaupt)

    Vertragen sich die beiden Programme, so dass pleasesleep dem Programm smartslepp nicht irgenwie destruktiv in die Quere kommt?

    Hast Du Erfahrungswerte wenn ggf bei beide Anwendungen gleichzeitig aktiv sind ??

    (Bei pleasesleep kann man angeblich übrigens mittlerweile sehr einfach im Preset angeben, dass bei so definierten Anwendungen, die wenn sie Aktiv sind, pleasesleep von seinem rigorosen Vorgehen abstand nimmt, und nicht unbesehen einfach dicht macht, sonder wartet bis diese Prgs nicht mehr aktiv sind )

    Danke für Antwort

    mfg P.Schaaf

    • Ne, leider kann ich Dir da nicht weiterhelfen. Aber so eine Lösung würde mich auch interessieren. Momentan lasse ich den Laptop meistens offen neben dem Zweitbildschirm stehen, da er geschlossen nicht aufwacht, wenn der externe Monitor keinen Strom hat. So funktioniert es bisher ganz gut. Ich habe es aber erst gar nicht versucht, weil ich bezweifle, dass das funktioniert. Ich lasse mich aber gerne eines besseren belehren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.