Was hält meinen Mac wach?

20130526_cats
Oder auch »Warum will meine Katze nicht schlafen?«

Unter OS X gibt es für Programme die Möglichkeit den Computer vom Einschlafen (Standby) abzuhalten. Dies kann ziemlich praktisch sein, wenn einer z.B. noch einen Download aktiv hat oder eine größere Datei konvertiert wird.
Einige Programme schicken daher an das Betriebssystem den Befehl „Hey, noch nicht einschlafen!“ und die Bergkatze gehorcht.
Es gibt auch Anwendungsfälle, wo das entsprechende Programm diesen Befehl leider nicht von Haus aus unterstützt. Hier können dann so praktische Tools wie Wimoweh (MacAppstore Link, kostenlos) oder SmartSleep (MacAppstore Link, 3,59 €) Abhilfe schaffen und geben dem User das Zepter in die Hand, ob z.b. erst nach 2 Stunden der Rechner sich schlafen legen soll.

Nun hatte ich das Problem, dass mein Rechner nicht mehr einschlafen wollte, wenn ich ihn zugeklappt habe. Ich habe alle mir bekannten Programme überprüft und geschlossen, aber das Problem blieb bestehen. Ich habe also ein wenig im Internet recherchiert und bin auf folgenden Terminal-Befehl gestoßen:

pmset -g assertions

Gibt einer diesen Befehl im Terminal ein, so bekomme ich ungefähr folgende Ausgabe:

26.05.13 19:22:34 MESZ
Assertion status system-wide:
PreventUserIdleDisplaySleep 0
PreventSystemSleep 1
PreventUserIdleSystemSleep 0
ExternalMedia 1
DisableLowPowerBatteryWarnings 0
UserIsActive 0
ApplePushServiceTask 0
BackgroundTask 1

Hier ist natürlich der Punkt PreventSystemSleep relevant und gibt uns an, dass das System beim „zuklappen“ nicht schlafen wird.
Schauen wir also weiter in die Ausgabe:

Listed by owning process:
pid 18(powerd): [0x000000090000012c] 00:45:38 ExternalMedia named: "com.apple.powermanagement.externalmediamounted"
pid 944(InternetSharing): [0x000000080000084a] 00:00:01 DenySystemSleep named: "com.apple.InternetSharing"
pid 75(mds): [0x0000000c0000012f] 00:45:36 BackgroundTask named: "com.apple.metadata.mds"
pid 501(helpd): [0x0000000c00000462] 00:45:13 BackgroundTask named: "com.apple.helpd.sdmbuilding"

Und hier entdecken wir DenySystemSleep bei dem Prozess „InternetSharing“, welcher bei mir der Übeltäter war.
Ich hatte meinen „Ethernet-Hotspot“ (Internetfreigabe des Systems) letztens benutzt und anscheinend vergessen zu deaktivieren. Somit war mein Problem leicht zu beheben.
Vielleicht habt ihr auch mal so einen Fall und nun wisst ihr euch zu helfen.

PS: Mir ist übrigens unter Windows keine „einfache“ Möglichkeit bekannt, das System temporär vom einschlafen abzuhalten. Außer natürlich direkt im System die Standby-Zeit hochzusetzen. Falls euch hier ein entsprechendes Tool wie „Wimoweh“ bekannt ist, dann lasst es mich/uns wissen.

Foto (cc-by-nc) Art Siegel