MacBook nie śpi, gdy pokrywa jest zamknięta

11

Rozejrzałem się za odpowiedziami i nie mogę znaleźć czegoś, co by mi pasowało.

Mam jednoosobowego aluminiowego MacBooka Pro, który po prostu nie chce spać po zamknięciu pokrywy. Problem zaczął się po zainstalowaniu Lion.

Kiedy zamykam pokrywkę, wydaje się, że idzie w tryb uśpienia (tzn. Logo Apple przygasa), ale dioda LED stanu pozostaje włączona, aw ciągu 5 sekund logo Apple ponownie się świeci. Bardzo nieznaczne uniesienie ekranu pokazuje, że ekran jest w tym momencie włączony.

Wiem, że po zamknięciu pokrywy nie śpi i nie budzi się, ponieważ syslog | grep -i "wake reason"nie pokazuje wejścia budzenia na czas, gdy budzi się laptop.

Do tej pory próbowałem zresetować PRAM, reset SMC, wyłączając wszystkie opcje udostępniania i bluetooth. Jednak śpi z zamkniętą pokrywą po uruchomieniu w trybie awaryjnym. To prowadzi mnie do przekonania, że ​​jest to jakieś oprogramowanie lub ustawienie, które uniemożliwia sen, ale nie wiem, jak to rozgryźć.

Czy jest jakiś sposób, aby to naprawić lub dowiedzieć się, jakie oprogramowanie uniemożliwia sen?

alexcoco
źródło

Odpowiedzi:

4

Brak wake reasonwpisów sugeruje, że komputer Mac nigdy nie śpi w pełni. Mechanizm uśpienia został uruchomiony, ale nigdy się nie kończy.

Użyj następującego polecenia Terminal, aby wyświetlić szczegółowy dziennik pokazujący historię zasilania komputera Mac:

pmset -g log

Zobaczysz listę wpisów w formie:

 * Domain: applicationresponse.slowresponse
 - Message: PMConnection AirPort configd plug-in com.apple.powermanagement.applicationresponse.slowresponse 1399 ms
 - Time: 13/03/2012 12:27:53 CET 
 - Signature: AirPort configd plug-in
 - UUID: AB482838-2D6E-0000-0000-14BF53E20000
 - Result: Noop
 - Response time (ms): 1399

Uważaj na aplikacje, które mogą utrzymywać komputer Mac w stanie czuwania i aktywności. Aplikacje i inne procesy mogą utrzymywać komputer Mac w stanie uśpienia, jeśli zapewniają usługi, takie jak udostępnianie plików lub dostęp zdalny. Procesy należy jednak wymusić po 30 sekundach od zamknięcia pokrywy.

Zachowanie, które widzisz, sugeruje rozszerzenie jądra lub problem z IOKit. Procesy na poziomie użytkownika nie mogą blokować uśpienia, gdy są inicjowane przez użytkownika.

Czy masz zainstalowane jakieś narzędzia instalujące rozszerzenia jądra (kext)? Mogą one obejmować narzędzia do nagrywania ekranu lub przechwytywania dźwięku; narzędzia niż potrzeba niskiego poziomu dostępu do komputera Mac.

Graham Miln
źródło
Twoja odpowiedź była najbliższa. Okazuje się, że zapomniałem, że Kofeina została zainstalowana i chociaż nie ma ikony na pasku menu, jak powinna podczas pracy, nadal w jakiś sposób wpływała na sen. Może zmienił niektóre ustawienia systemu i nie musiał być uruchomiony, aby powodować problemy.
alexcoco
2

Warto naprawić swoje uprawnienia, jeśli jeszcze tego nie zrobiłeś. Błędy uprawnień spowodowały wiele dziwnych problemów w aktualizacji Lion.

Pomocne może być również generowanie pomysłów, jeśli można ustalić, czy problem dotyczy całego systemu, czy jest specyficzny dla użytkownika. Zrób to, tworząc nowe, nieskazitelne konto użytkownika i używając go, aby sprawdzić, czy problem będzie się powtarzał.

Prawdziwa „czysta instalacja” Lion jest nadal dyskusyjną procedurą, ale niektórzy ludzie, którzy wyczerpali wszystkie inne możliwości diagnostyczne, ostatecznie udali się tą drogą. Mam nadzieję, że twój problem jest prostszy!

-

EDYCJA :

Rozumiem, że rozruch w trybie awaryjnym rozwiązuje problem, ale tworzenie nowego użytkownika nie. To zdecydowanie sugeruje, że problemem jest coś, co ładujesz podczas uruchamiania. Dobra wiadomość jest taka, że powinno to być łatwe do naprawienia.

Dotychczasowe eksperymenty sugerują, że cokolwiek powoduje problem, znajduje się w katalogu / Library, a nie w folderze User. Zarządzalna mała lista rzeczy jest wyłączana podczas uruchamiania w trybie awaryjnym , w tym / System / Library / Extensions, / Library / StartupItems, a zwłaszcza wszelkie czcionki poza / System / Library / Fonts. Twój problem musi dotyczyć jednej z tych lokalizacji.

Mam dziwne wrażenie, że możesz mieć uszkodzoną czcionkę, ponieważ jest to powszechny problem, który objawia się w dziwny sposób. Możesz wypróbować opisane tutaj strategie rozwiązywania problemów , które zasadniczo polegają na sprawdzaniu poprawności czcionek za pomocą narzędzia Font Book (dołączonego do systemu Mac OS X), czyszczeniu pamięci podręcznej czcionek i usuwaniu duplikatów.

Jeśli czcionki nie stanowią problemu, ta wcześniejsza dyskusja zawiera dobre informacje na temat wyłączania błędnych rozszerzeń startowych i elementów logowania. Chodzi o usunięcie wszystkiego podejrzanego i dodawanie kolejnych elementów, aż znajdziesz winowajcę.

Myślę, że jesteś blisko rozwiązania, daj nam znać, kiedy go złamałeś.

Popiół
źródło
Dzięki, spróbuję naprawić uprawnienia i utworzyć nowego użytkownika, nie pomyślałem o tym. Dam ci znać, jak to idzie.
alexcoco
Utworzyłem nowe konto i wydaje się, że to samo dzieje się, chociaż w trybie awaryjnym wydaje się być w porządku. Masz jakieś wskazówki, co może różnić się od trybu awaryjnego?
alexcoco
Bardzo interesujące! Rzucę okiem na te rzeczy i wrócę do ciebie!
alexcoco
1

Czy wypróbowałeś tę poprawkę na forum Apple? Zastosowania rozwiązały problem, odinstalowując sterownik drukarki, o którym wiadomo, że jest przyczyną problemu.

Możesz także spróbować wyłączyć opcję „Wake for Network Access”

OrangeBox
źródło
Myślę, że w pewnym momencie przeczytałem o tym sterowniku drukarki, ale nie próbowałem go odinstalować. Dam temu szansę. Wydaje mi się, że już wyłączyłem opcję wybudzania dostępu do sieci, ale i tak sprawdzę dwukrotnie, dzięki.
alexcoco,
Chciałbym też jeszcze raz wspomnieć, że śpi po uruchomieniu w trybie awaryjnym. Jeśli przyczyną problemu był sterownik drukarki, ale nie uruchomiono go w trybie awaryjnym (co moim zdaniem jest prawdopodobne), może to oznaczać problem.
alexcoco,
Z tego, co przeczytałem, niektórzy ludzie mieli problemy, gdy mieli zainstalowany określony produkt VMWare - więc wydaje się, że nawet przy wyłączonej opcji dostępu do sieci niektóre programy mogą nadal budzić komputer. Powodzenia!
OrangeBox
Próbowałem uruchomić pmset -g assertionspolecenie tak, jak napisano w tym poście, ale dostaję tylko listę rzeczy 0na końcu z wyjątkiem jednego elementu, który ma EnableIdleSleep 1. Nie wiem, jak to interpretować, ale nie wygląda mi to na coś złego.
alexcoco
1

Uruchom następujące polecenie:

pmset -g assertions

i wymień wszystkie asercje systemowe, które zapobiegają uśpieniu systemu wraz z jego procesami.

Ilekroć procesy zastępują jakiekolwiek ustawienia zasilania systemu, pmsetwymienia te procesy i ich potwierdzenia zasilania w -gi -g assertions.

Zwykle, gdy nic nie powstrzymuje systemu MacOS przed zaśnięciem, powinieneś mieć wszystko 0. Jeśli masz 1zamiast 0gdzieś, linia może wyjaśnić przyczynę tego.

Źródło: Display Sleep nie działa .

Możesz również sprawdzić za pomocą następującego polecenia:

pmset -g | grep -w sleep

Na przykład:

Idle sleep preventers: IODisplayWrangler

Jeśli znalazłeś konkretny powód, dla którego sen nie działa i nadal nie pomógł, wejdź na google lub zadaj nowe pytanie ze szczegółowymi danymi wyjściowymi. Lub po prostu uruchom ponownie komputer i sprawdź, czy to pomoże.



Rozwiązywanie problemów

  • Sprawdź, czy nie występują procesy występujące w asercjach całego systemu i jądra, pmset -g assertionsa następnie zabij lub uruchom ponownie jeden, który Twoim zdaniem może być przyczyną problemu.
  • Wyłącz WiFi lub dowolną inną sieć, która może pojawić się na liście asercji jądra.

    $ pmset -g assertions
    // ...
    Listed by owning process:
       pid 343(Google Chrome): [0x0000003600018115] 05:02:36 NoIdleSleepAssertion named: "WebRTC has active PeerConnections" 
    // ...
    Kernel Assertions: 0x100=MAGICWAKE
       id=501  level=255 0x100=MAGICWAKE mod=01/01/1970, 01:00 description=en0 owner=en0
    
  • Odłącz wszelkie urządzenia zewnętrzne (USB, karty SD, urządzenia Bluetooth itp.).

    $ pmset -g assertions
    Assertion status system-wide:
    // ...
       ExternalMedia                  1
    // ...
    Listed by owning process:
       pid 73(powerd): [0x0000000600088007] 05:03:24 ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 
    // ...
    
  • Uruchom dzienniki asercji:: pmset -g assertionslogzamknij pokrywę i przeczytaj dzienniki.

  • Jeśli spodziewasz się hibernacji zamiast standardowego trybu uśpienia, użyj pmsetdo sprawdzenia hibernatemode, domyślnie powinna być ustawiona na 3:

    pmset -g | grep -w hibernatemode
    

    W przeciwnym razie ustaw na 3(możesz również rozważyć 25):

    sudo pmset -a hibernatemode 3
    

    Zobacz: man pmseti dalsze szczegóły.

    Ostrzeżenie : nie zalecamy modyfikowania ustawień hibernacji. Wszelkie wprowadzone zmiany nie są obsługiwane. Jeśli zdecydujesz się to zrobić, zalecamy skorzystanie z jednego z tych trzech ustawień. Ze względu na mnie i moje nie używaj niczego innego, 0, 3 lub 25.

    hibernatemode = 0(binarnie 0000) domyślnie na obsługiwanych komputerach stacjonarnych. System nie utworzy kopii zapasowej pamięci w pamięci trwałej. System musi się obudzić z zawartości pamięci; system straci kontekst w przypadku utraty zasilania. To historycznie zwykły stary sen.

    hibernatemode = 3(binarnie 0011) domyślnie na obsługiwanych urządzeniach przenośnych. System zapisze kopię pamięci w pamięci trwałej (na dysku) i zasila pamięć podczas uśpienia. System obudzi się z pamięci, chyba że utrata zasilania zmusi go do przywrócenia z obrazu dysku.

    hibernatemode = 25(binarny 0001 1001) można ustawić tylko za pomocą pmset. System zapisze kopię pamięci w pamięci trwałej (na dysku) i odłączy zasilanie pamięci. System przywróci obraz dysku. Jeśli chcesz „hibernacji” - wolniej śpi, wolniej budzi się i wydłuża czas pracy baterii, powinieneś użyć tego ustawienia.

  • Aby sprawdzić bieżący stan wyświetlacza (poniżej 4 oznacza, że ​​jest już w trybie uśpienia):

    pmset -g powerstate IODisplayWrangler
    
  • Aby uśpić ekrany z wiersza polecenia, uruchom:

    pmset displaysleepnow
    # or:
    osascript -e 'tell app "System Events" to sleep'
    

    Aby obudzić wyświetlacz:

    caffeinate -u -t 1
    

Zobacz też: pmset - Przykładowe użycie , Jak hibernować komputer Mac .

kenorb
źródło
0

Oto sposób, w jaki udało mi się naprawić problem budzenia / snu za pomocą mojego MBP (początek 09)

Nigdy nie uruchomił się ponownie, gdy ponownie otworzyłem pokrywę.

Wystąpiło tylko podczas budzenia się ze snu zainicjowanego przez zamknięcie pokrywy.

Obejściem, którego użyłem było wyłączenie Automatyczne dostosowywanie jasności (Preferencje systemowe -> Wyświetlacze). Od tego czasu nie pojawił się ponownie - spróbuj tego i zobacz, jak sobie radzisz.

Kanchan
źródło
Mój problem jest odwrotny. Budzi się ze snu, gdy pokrywa jest otwarta, jeśli śpisz, ale nie śpi, jeśli pokrywa jest właśnie zamknięta. Czy przeczytałeś moje pytanie?
alexcoco,
0

Miałem ten problem bardzo długo.

Musisz przejść do: > Preferencje systemowe> Udostępnianie

Następnie WYŁĄCZYĆ udostępnianie w Internecie, udostępnianie Internetu i udostępnianie ekranu .

Jeśli te nie działają, spróbuj wyłączyć inne opcje udostępniania.

SkinnyBill
źródło
Nie mam włączonych opcji udostępniania. Do tej pory próbowałem zresetować PRAM, reset SMC, wyłączając wszystkie opcje udostępniania i bluetooth.
alexcoco,