MacBook не спит при закрытой крышке

11

Я искал ответы и не могу найти то, что мне подходит.

У меня есть цельный алюминиевый MacBook Pro, и он просто не хочет спать, когда я закрываю крышку. Проблема началась после установки Lion.

Когда я закрываю крышку, кажется, что она засыпает (т.е. логотип Apple тускнеет), но индикатор состояния остается включенным, и в течение 5 секунд логотип Apple снова включается. Слегка подняв экран, можно увидеть, что экран включен в данный момент.

Я знаю, что он не спит и не просыпается, когда я закрываю крышку, потому syslog | grep -i "wake reason"что не показывает вход в пробуждение в то время, когда ноутбук просыпается.

До сих пор я пробовал сброс PRAM, сброс SMC, отключение всех параметров общего доступа и Bluetooth. Тем не менее, он спит с закрытой крышкой при загрузке в безопасном режиме. Это заставляет меня поверить, что это некое программное обеспечение или настройка, которая мешает спать, но я не знаю, как это выяснить.

Есть ли способ исправить это или узнать, какое программное обеспечение мешает спать?

alexcoco
источник

Ответы:

4

Отсутствие wake reasonзаписей предполагает, что ваш Mac никогда не спит полностью. Механизм сна запущен, но никогда не завершается.

Используйте следующую команду терминала для просмотра подробного журнала, отображающего историю питания вашего Mac:

pmset -g log

Вы увидите список записей в форме:

 * 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

Ищите приложения, которые могут поддерживать ваш Mac активным и активным. Приложения и другие процессы могут держать ваш Mac в активном состоянии, если они предоставляют такую ​​услугу, как обмен файлами или удаленный доступ. Тем не менее, процессы должны быть засыпаны через 30 секунд после закрытия крышки.

Поведение, которое вы видите, предполагает расширение ядра или проблему IOKit. Процессы пользовательского уровня не могут блокировать спящий режим по инициативе пользователя.

У вас установлены утилиты, устанавливающие расширения ядра (kext)? Это могут быть инструменты записи экрана или записи звука; Утилиты, которые нуждаются в низком уровне доступа к вашему Mac.

Грэм Милн
источник
Ваш ответ был ближе всего. Оказывается, я забыл, что Caffeine был установлен, и, несмотря на то, что в строке меню не было значка, как это должно быть при запуске, он все равно каким-то образом влиял на сон. Может быть, он изменил некоторые системные настройки и не должен был работать, чтобы вызвать проблемы.
alexcoco
2

Стоит восстановить ваши разрешения, если вы этого еще не сделали. Ошибки в разрешениях вызвали множество странных проблем в обновлении Lion.

Это также может помочь генерировать идеи, если вы можете определить, является ли проблема общесистемной или специфичной для пользователя. Сделайте это, создав новую, нетронутую учетную запись пользователя и используя ее, чтобы увидеть, сохраняется ли проблема.

Подлинное «чистая установка» Лев еще обсуждаются процедура, но некоторые люди, которые исчерпывают все другие диагностические возможности оказались идти по этому пути с хорошим успехом. Я надеюсь, что ваша проблема более проста, чем это!

-

РЕДАКТИРОВАТЬ :

Я понимаю, что загрузка в безопасном режиме решает проблему, но создание нового пользователя - нет. Это сильно говорит о том, что проблема заключается в том, что вы загружаете при запуске. Хорошей новостью является то, что это должно быть легко исправить.

Пока ваши эксперименты показывают, что все, что вызывает проблему, находится в вашем каталоге / Library, а не в вашей папке User. Управляемый небольшой список вещей отключается во время запуска в безопасном режиме , включая / System / Library / Extensions, / Library / StartupItems и, в частности, любые шрифты вне / System / Library / Fonts. Ваша проблема должна быть в одном из этих мест.

У меня странное чувство, что у вас может быть поврежденный шрифт, так как это распространенная проблема, которая проявляется странным образом. Вы можете попробовать стратегии устранения неполадок, описанные здесь , которые в основном состоят из проверки шрифтов с помощью утилиты Font Book (входит в Mac OS X), очистки кэша шрифтов и удаления любых дубликатов.

Если шрифты не являются проблемой, в этом предыдущем обсуждении содержится хорошая информация о том, как отключить ошибочные расширения при запуске и элементы входа в систему. Это вопрос устранения всего подозрительного и постепенного добавления вещей, пока вы не найдете своего виновника.

Я думаю, что вы близки к решению, пожалуйста, дайте нам знать, когда вы взломали его.

ясень
источник
Спасибо, попробую восстановить разрешения и создать нового пользователя, не подумал об этом. Я дам вам знать, как это происходит.
alexcoco
Я создал новую учетную запись, и похоже, что происходит то же самое, хотя в безопасном режиме все в порядке. Любая подсказка относительно того, что может или не может отличаться в безопасном режиме?
alexcoco
Очень интересно! Я посмотрю на эти вещи и вернусь к вам!
alexcoco
1

Вы пробовали это исправить с форума Apple. Использование решило проблему, удалив драйвер принтера, который, как он обнаружил, вызвал проблему.

Вы также можете попробовать отключить опцию «Wake for Network Access»

OrangeBox
источник
Я думаю, что когда-то читал об этом драйвере принтера, но я не пытался удалить его. Я попробую. Я полагаю, что я также уже отключил функцию пробуждения для доступа к сети, но я все равно проверю, спасибо.
alexcoco
Я также хотел бы еще раз упомянуть, что он спит при загрузке в безопасном режиме. Если драйвер принтера вызывал это, но не загружался в безопасном режиме (что, я думаю, вероятно), то это может быть проблемой.
alexcoco
Кроме того, из того, что я прочитал, у некоторых людей были проблемы, когда у них был установлен определенный продукт VMWare - так что, похоже, даже при отключенной опции доступа к сети некоторые программы все еще могут разбудить компьютер. Удачи!
OrangeBox
Я попытался запустить pmset -g assertionsкоманду, как написано в этом посте, но все, что я получаю, это список вещей с 0в конце, за исключением одного элемента, который имеет EnableIdleSleep 1. Я не знаю, как это интерпретировать, но для меня это не выглядит плохо.
alexcoco
1

Запустите следующую команду:

pmset -g assertions

и перечислите все общесистемные утверждения, мешающие вашей системе спать вместе с их процессами.

Всякий раз, когда процессы переопределяют какие-либо параметры питания системы, pmsetперечисляют эти процессы и их оценки мощности в -gи -g assertions.

Обычно, когда ничто не мешает macOS заснуть, у вас должно быть все 0. Если у вас есть 1вместо 0где-то, строка может объяснить причину этого.

Источник: Display Sleep не работает .

Вы также можете проверить следующую команду:

pmset -g | grep -w sleep

Например:

Idle sleep preventers: IODisplayWrangler

Если вы нашли конкретную причину, по которой сон не работает, и все еще не помогли, пожалуйста, Google или задать новый вопрос с выводом конкретных деталей. Или просто перезагрузите компьютер и посмотрите, поможет ли это.



Исправление проблем

  • Проверьте наличие процессов , возникающих в масштабах всей системы и ядра утверждений с помощью pmset -g assertionsи убить или перезагрузить тот , который вы думаете , может быть причиной проблемы.
  • Отключите WiFi или любую другую сеть, которая может появиться в списке утверждений ядра.

    $ 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
    
  • Отключите все внешние устройства (USB, SD-карты, устройства Bluetooth и т. Д.).

    $ 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" 
    // ...
    
  • Запустите журналы утверждений:, pmset -g assertionslogзакройте крышку и прочитайте журналы.

  • Если вы ожидаете спящий режим вместо стандартного спящего режима, используйте pmsetдля проверки hibernatemode, по умолчанию он должен быть установлен на 3:

    pmset -g | grep -w hibernatemode
    

    В противном случае установите 3(вы также можете рассмотреть 25):

    sudo pmset -a hibernatemode 3
    

    Смотрите: man pmsetи для более подробной информации.

    Предупреждение : мы не рекомендуем изменять настройки гибернации. Любые сделанные вами изменения не поддерживаются. В любом случае, если вы решите сделать это, мы рекомендуем использовать один из этих трех параметров. Ради меня, пожалуйста, не используйте ничего, кроме 0, 3 или 25.

    hibernatemode = 0(двоичный 0000) по умолчанию на поддерживаемых рабочих столах. Система не будет резервировать память в постоянное хранилище. Система должна просыпаться от содержимого памяти; система потеряет контекст при потере мощности. Это исторически простой старый сон.

    hibernatemode = 3(двоичный код 0011) по умолчанию на поддерживаемых портативных устройствах. Система сохранит копию памяти в постоянном хранилище (на диске) и запитает память во время сна. Система будет пробуждаться из памяти, если только отключение питания не заставит ее восстановиться из образа диска.

    hibernatemode = 25(двоичный код 0001 1001) устанавливается только через pmset. Система сохранит копию памяти в постоянном хранилище (на диске) и отключит питание памяти. Система восстановится с образа диска. Если вы хотите "гибернацию" - более медленный сон, более медленные пробуждения и лучшее время автономной работы, вам следует использовать этот параметр.

  • Чтобы проверить текущее состояние вашего дисплея (ниже 4 означает, что он уже находится в режиме ожидания):

    pmset -g powerstate IODisplayWrangler
    
  • Чтобы перевести дисплеи в спящий режим из командной строки, выполните:

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

    Чтобы разбудить дисплей:

    caffeinate -u -t 1
    

Смотрите также: pmset - Пример использования , Как переводить компьютер в спящий режим на Mac .

kenorb
источник
0

Вот способ, которым мне удалось исправить проблему пробуждения / сна с моим MBP (начало 09)

Он никогда не возобновлялся, когда я снова открывал крышку.

Происходит только при пробуждении от сна, вызванном закрытием крышки.

Временное решение, которое я использовал, было отключить автоматическую настройку яркости (Системные настройки -> Дисплеи). С тех пор не повторялось - попробуйте и посмотрите, как вы идете

Канчан
источник
Моя проблема в обратном. Он просыпается, когда крышка открыта, если вы спите, но не будет спать, если крышка просто закрыта. Вы читали мой вопрос?
alexcoco
0

У меня была эта проблема очень долго.

Вам необходимо перейти к: > Системные настройки> Общий доступ

Затем вам нужно ВЫКЛЮЧИТЬ веб обмен , общий доступ к Интернету и общему экран .

Если они не работают, попробуйте отключить другие параметры обмена.

SkinnyBill
источник
У меня не включены параметры обмена. До сих пор я пробовал сброс PRAM, сброс SMC, отключение всех параметров общего доступа и Bluetooth.
alexcoco