Почему после обновления до Lion не закрывает крышку мой MacBook Pro с подключенным внешним монитором?

76

До вчерашнего дня (с Snow Leopard) закрытие крышки приводило к тому, что мой MacBook находился в спящем режиме независимо от того, был ли подключен внешний монитор.

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

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

Пол Руб
источник
2
Чтение обзора Сиракузы, это нормальное поведение во Льве. Посмотрим, есть ли вариант где-нибудь.
Лоик Вольф
Вы пытались сделать Control-Shift-Eject?
2
Смотрите выше: «Я понимаю, что могу спать с помощью меню Apple или клавиатуры, прежде чем закрыть крышку»
Пол Руб
Я не понимаю, почему для этого нет выбора и почему «поведение льва» используется по умолчанию. ПОЧЕМУ НИКОМУ НИКОГДА не будет отказано в доступе к лучшему охлаждению и дополнительному экранному пространству, доступному с помощью MacBook, когда он открыт с подключенным монитором
Alexander
3
У меня есть случай использования. Я хочу, чтобы мои дети могли использовать мой MacBook для просмотра видео. Я не хочу, чтобы они приклеивали липкие пальцы к собственному экрану или клавиатуре ноутбука, поэтому я просто спрячу Macbook за обычным монитором и позволю им ударить по клавиатуре Bluetooth. Я мог бы даже поставить монитор сверху на закрытый корпус, если он не слишком тяжелый.
Стюарт Вудворд

Ответы:

29

Изменить: Посмотрите, как изменилось поведение: Почему после обновления до Lion закрытие крышки не спит мой MacBook Pro с подключенным внешним монитором?

Есть две группы людей. Те, кто хочет иметь два дисплея и закрывать крышку, уходят в сон, а люди, которые хотят отключить дисплей монитора, закрывают крышку и используют внешний монитор, как будто вы «пристыкованы» к нему.

Ранее, если вы хотели полностью перейти с macbook на внешний монитор, вам пришлось выполнить следующее, чтобы перевести ноутбук в режим раскладушки:

  1. Убедитесь, что компьютер подключен к розетке с помощью адаптера переменного тока.
  2. Подключите USB-клавиатуру и мышь к вашему компьютеру.
  3. При включенном компьютере подключите портативный компьютер Apple (при необходимости используя соответствующий адаптер Apple) к соответствующему порту на внешнем дисплее или проекторе и включите дисплей или проектор.
  4. Как только рабочий стол вашего компьютера появится на внешнем дисплее, закройте крышку компьютера.
  5. Когда крышка закрыта, разбудите компьютер, нажав кнопку мыши или нажав клавишу на внешней клавиатуре.

источник: http://support.apple.com/kb/ht3131

Таким образом, чтобы перевести машину в режим раскладушки, вам необходимо перевести ее в режим сна и снова разбудить. Что касается пользовательского опыта, это несколько неприятно.

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

Прямо сейчас нет способа изменить это поведение.

Нил Тродден
источник
2
6. Надеюсь, что% & @ $ §! MacBook больше не засыпает, что случалось со мной каждый день. Лев меняет это навсегда.
Рене
13
Это было бы отличным ответом на вопрос «почему они изменили поведение закрытой крышки?» И я понял. Но встает вопрос: «Есть ли способ вернуть старое поведение тем, кто в первой группе?»
Пол Руб
Это звучит так, будто я исправляю / жалуюсь на ваш ответ; на самом деле просто объяснить, почему это не принято. Это на самом деле полезное объяснение для тех, кто возмущен / сбит с толку изменениями.
Пол Руб
2
Да, отстойно, что людям приходилось заново пробуждать свой ноутбук Mac, если они хотели использовать его с закрытой крышкой, но есть очевидное решение: сделать поведение настраиваемым! Apple может даже сделать поведение «без повторного пробуждения» по умолчанию, если этого захотят или ожидают большинство людей. Затем другой половине населения не нужно проходить «лишний» шаг сна, прежде чем закрывать крышку.
allyourcode
3
Right now, there is no way to alter this behaviour, Это не правда (больше). Этот ответ возвращает его к старому поведению.
Saaru Lindestøkke
14

если есть настройка для восстановления сна при закрытии

Да, есть. Чтобы восстановить поведение Snow Leopard, просто запустите следующую команду в Терминале, пока внешний монитор отключен, и перезагрузите компьютер:

sudo nvram boot-args=iog=0x0

Я только что использовал его на своем льве - работает как шарм.

 
Если вы когда-нибудь захотите сбросить его, либо выполните следующее (и, конечно, перезагрузите):

sudo nvram -d boot-args

или просто сбросьте PRAM с помощью + + P+, Rесли по какой-то причине вы не можете загрузиться.

Idolon
источник
Это все еще работает для меня в OS X Yosemite.
frhd
1
Согласно моему опыту и слухам о Mac, он будет спать только тогда, когда вы закроете крышку, если она не подключена
Casebash
Я могу подтвердить, он только идет спать, если он не заряжается. Эль-Капитан. Как мы это исправим?
Gintas_
3
Не работает на Сьерре :(
Луис Дешам Рудж
Это: github.com/pirj/noclamshell работал для меня. Просто установите его с помощью brew (инструкции на странице github) и наслаждайтесь. Слава от @pirj за его разработку.
Sukotronic
6

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

Например, вы можете настроить его так, чтобы перемещение мыши в нижний правый угол экрана инициировало «Сон».

Настройка находится в System Preferences> Desktop & Screen Saver> Заставка и нажмите Hot Corners ... кнопку.

Джоэл Спольски
источник
4
Правильно, но если я не ошибаюсь, отобразите sleep! = Системный сон.
Пол Руб
1
@ Пол, вы правы, это две разные вещи, у них тоже два разных ярлыка
Agos
2
Хорошо, хороший ярлык, но я (или особенно коллеги, не привыкшие к моей мыши :-)) иногда случайно
попадаю
3

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

Я думаю, что я нашел, что отличается в обоих сценариях: кабель питания (magsafe).

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

Это может не отвечать на вопрос «как я могу заставить его всегда спать», но это действительно отвечает на первоначальный вопрос, а именно «почему» ...

Паскаль Бурк
источник
1
Могу это подтвердить. Режим раскладушки, кажется, зависит от внешнего питания (что, я думаю, имеет смысл). Но это не так удобно, как просто закрыть крышку.
Александр Климетчек
3

Этому вопросу уже много лет, но он все еще актуален. У меня тоже была эта проблема, и я предложил этот скрипт, который отслеживает состояние крышки и переводит компьютер в спящий режим, когда крышка закрыта: https://github.com/pirj/noclamshell

фил пирожков
источник
2

Хотя и не отвечая на ваш вопрос, почему бы не использовать сочетание клавиш или меню для сна компьютера?

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

jklp
источник
Вы также можете использовать кнопку питания плюс Sключ. У меня проблема в том, что ничего из этого не работает, если ваш компьютер заблокирован. Меня очень раздражает, что я должен ввести свой пароль, чтобы перевести компьютер в спящий режим, когда я смогу сделать это, просто закрыв компьютер.
asmeurer
0

Ну ... у меня есть "решение", если вы готовы принять несколько не идеальных аспектов.

Вот как это работает:

  1. Используя инструмент «яркость» (включенный в zip ниже), проверьте активные идентификаторы дисплея
  2. Добавьте идентификационный номер вашего ноутбука в скрипт оболочки (см. Zip)
  3. Запустите сценарий оболочки через launchd для мониторинга / Библиотека / Предпочтения / SystemConfiguration / для изменений
  4. Если скрипт видит, что дисплей вашего ноутбука не активен, он заставляет компьютер спать

Предостережение

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

(Похоже, что должен был бы быть способ сделать это, но мой GoogleFu не появился.)

«Ошибка»

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

КАК

  • Вам необходимо скачать этот http://dl.dropbox.com/u/18414/scripts/ase-18037.zip
  • распакуйте его и прочитайте файл README.txt
  • скопируйте 3 включенных файла в их правильные местоположения (как объяснено в README)
  • отредактируйте один из файлов, чтобы включить идентификационный номер вашего монитора (то же самое)
Ти Джей Луома
источник
0

Нашел решение, которое подходит мне, так как я уже использую ControlPlane , один из лучших планировщиков CPU / Power.

  • Создать новый контекст
  • Добавить Laptop Lid Open/Closed Stateисточник доказательств
  • Добавьте правило, вызывающее закрытие контекста на крышке ноутбука.
  • Добавить действие с pmset sleepnowприкрепленным скриптом

Вуаля

rshev
источник
-1

Это похоже на то, что я испытываю:

Я только что обновился до Lion на своем Macbook (White 1.83 2007), у меня есть внешний монитор Samsung XL2370HD. Макбук иногда сильно нагревался, прикрыв крышку снежным барсом.

Решением было поднять крышку наполовину, чтобы дать ей остыть, а также получить доступ к встроенной клавиатуре, когда внешняя клавиатура не была подключена обратно. Теперь, с Lion, он автоматически переключается на ЖК-дисплей Macbook при открытии крышки, и иногда настройки синхронизации цветов в процессе смешиваются, в результате чего второй дисплей отключается, пока я вручную не сброслю разрешение экрана до 1920 x 1080 ,

Также заметил, что колесо масштабирования ctrl + масштабировалось только в области 1280 x 800 на samsung, установленном на 1920 x 1080. Это кажется ошибкой, потому что перезапуск с крышкой в ​​режиме 1920 все хорошо.

Я не могу найти крышку, кроме как в режиме зеркала. Win 7 на Bootcamp работает нормально, и я могу снять крышку без ее переключения. Было очень удобно иметь возможность закрыть Macbook, чтобы он спал, а затем щелкнуть мышью, чтобы разбудить его на внешнем мониторе, затем заснуть и открыть крышку, чтобы разбудить встроенный дисплей. Это оптимальный способ работы, который ранее работал с двумя дисплеями.

  • Попробуйте перезапустить Mac только во внешнем режиме (крышка закрыта при перезапуске выпадающего меню). переключатель крышки теперь переключается, когда вы поднимаете и закрываете крышку. То есть, если открыть его один раз, ничего не получится, а если открыть его второй раз, он переключится на встроенный экран, а затем третий подъем и закрытие снова переведет его в режим сна.
  • Нажмите на кнопку мыши в третьем режиме сна, и он вернется к внешнему дисплею (хотя и с измененными размерами окон). Я полагаю, что Lion может адаптироваться (учиться?) Автоматически, что было бы очень круто, но я подозреваю, что перезапуск в различных режимах экрана в конечном итоге может помочь вернуть настройки PRAM к нормальному состоянию.
  • Также попробуйте изменить разрешение с обеих сторон. Кажется, он кеширует все, что вы делаете, и может просто икать на ранее сохраненные данные PRAM.
  • Последним средством является сброс PRAM: удерживайте alt (опция) + apple + p + r при перезагрузке после перезвона. Удерживайте клавиши и дайте им три раза позвонить, а затем отпустите и загрузитесь. Кстати, сделайте это на внешне прикрепленной клавиатуре, крышка закрыта, если это возможно. Это даст приоритет загруженному внешнему монитору, надеюсь.
Mooncalf2012
источник