Могу ли я запустить свой MacBook в режиме раскладушки без подключения к источнику питания?
Дома я запускаю свой MacBook в режиме раскладушки (закрытая крышка, внешний дисплей).
Это прекрасно работает, когда вы подключены к адаптеру питания, но не работает при работе от батареи. Вот как это должно быть, и у Apple есть некоторая запись в КБ по этому вопросу. Но это также хромает.
Вы можете запретить машине спать, когда она закрыта, запустив InsomniaX, но тогда он будет предполагать, что встроенный дисплей все еще активен, так что вы получите настройку с двумя дисплеями, когда вам действительно нужен только внешний. Это явно не идеально.
Итак, есть ли какая-нибудь работа вокруг, хак, утилита, черная магия, которую я могу использовать, чтобы заставить ее работать в режиме раскладушки, при этом строго на батарейном питании?
Кроме того, бонусные баллы за решение, которое делает статус AC не влияет на состояние машины вообще. (Как, вы знаете, это нормально, когда не в раскладушке.)
1 ответ
Эта страница предлагает обходной путь:
- Установите режим отображения на зеркальное отображение (используйте кнопку F7).
- Если вы еще этого не сделали, подключите внешний экран, клавиатуру и мышь.
- Нажмите клавишу на клавиатуре (например, Shift) и один раз щелкните мышью.
- Закройте крышку и подождите, пока Macbook не заснет.
- Во время сна нажмите внешнюю мышь один раз, Macbook проснется.
Если все пойдет хорошо, через несколько секунд на внешнем экране появится Dock и строка меню. Как только вы увидите это, логотип Apple на Macbook не должен загореться, откройте крышку Macbook. Macbook не засыпает, не включается встроенный экран, и теперь вы можете использовать режим раскладушки в режиме открытия крышки.
РЕДАКТИРОВАТЬ: см. Комментарии к этой записи для опыта kch с этим методом.
Ответ Лукаса Фейса об амфетамине великолепен, но если вы не доверяете сторонним приложениям или не хотите поддерживать что-то под названием "Амфетамин"... Ниже вы найдете полностью нативный способ сделать это на Mac без любые сторонние приложения.
Настройка занимает около 5 минут (все шаги указаны ниже), и вы можете включить интеллектуальный режим без сна одним щелчком мыши. Никаких других меню, никаких возни, никаких сторонних угроз безопасности. Он просто делает именно то, что ему нужно, ни больше, ни меньше.
Шаги:
- Откройте Terminal.app и выполните эти 5 команд, чтобы создать файлы сценариев и установить их разрешения:
mkdir ~/Desktop/PauseSleep
echo "" > ~/Desktop/PauseSleep/DontSleep.myscript
chmod 755 ~/Desktop/PauseSleep/DontSleep.myscript
echo "" > ~/Desktop/PauseSleep/Sleep.myscript
chmod 755 ~/Desktop/PauseSleep/Sleep.myscript
Перейдите на Рабочий стол> PauseSleep и дважды щелкните DontSleep.myscript. Вас спросят, с помощью какого приложения открыть файл: Выберите " Утилиты"> "Терминал.app". (Этот шаг важен, потому что позже он позволит вам запустить скрипт нажатием кнопки.)
Теперь щелкните правой кнопкой мыши DontSleep.myscript и выберите " Открыть с помощью> Другое> TextEdit.app", чтобы мы могли редактировать файл. Просто скопируйте и вставьте в файл весь следующий код. Вот и все. Не нужно возиться.
# Starting main script
echo "Starting script...";
echo ""
echo "Enter password to update sleep settings: "
sudo echo "Disabling sleep..."
# Creating helper process
echo "# This is a helper script. Do not run manually." > ~/Desktop/PauseSleep/DontSleepHelper.sh
echo "sudo pmset -a disablesleep 1" >> ~/Desktop/PauseSleep/DontSleepHelper.sh
echo "rm -f ~/Desktop/PauseSleep/DontSleepHelper.sh" >> ~/Desktop/PauseSleep/DontSleepHelper.sh
echo "sleep 60" >> ~/Desktop/PauseSleep/DontSleepHelper.sh
echo "sudo pmset -a disablesleep 0" >> ~/Desktop/PauseSleep/DontSleepHelper.sh
echo "exit 0;" >> ~/Desktop/PauseSleep/DontSleepHelper.sh
chmod 755 ~/Desktop/PauseSleep/DontSleepHelper.sh
# Launching the helper as a standalone process
nohup ~/Desktop/PauseSleep/DontSleepHelper.sh &
# Waiting for a second then printing info for the user
sleep 1
echo ""
echo "/------------------------------------------------------------------\\"
echo "| You may now close this window and shut the macbook lid. |"
echo "| If lid is not closed within 1 minutes, clamshell mode will be |"
echo "| reverted to default to prevent you from from forgetting about it. |"
echo "\\------------------------------------------------------------------/"
echo ""
echo ""
echo "Script is done."
- Теперь щелкните правой кнопкой мыши Sleep.myscript и выберите " Открыть с помощью"> "Другое"> "TextEdit.app". Скопируйте весь следующий код в файл. Опять же, возиться не нужно. Вы можете просто скопировать как есть.
## Note: This file is optional but good to have in case you somehow get stuck in No Sleep mode.
# Starting main script
echo "Starting script...";
echo ""
echo "Enter password to update sleep settings: "
sudo echo "Reverting any still-un-revered settings and going to sleep..."
sudo pmset -a disablesleep 0
sudo pmset sleepnow
echo ""
echo "Script is done."
- Теперь вы можете перетащить всю папку PauseSleep на свою док-станцию. Это позволит вам войти в режим раскладушки без питания, просто щелкнув значок DontSleep.myscript в доке перед тем, как закрыть крышку.
Преимущество этого подхода (помимо безопасности от необходимости доверять третьим сторонам...) заключается в том, что он отменяет все изменения, сделанные скриптом через 1 минуту, но ваш компьютер останется в активном состоянии до следующего раза, когда вы откроете и закроете крышку. или пока не наступит нормальное время сна.
Таким образом, вам не нужно беспокоиться о настройке таймеров сторонних приложений, не забывать отключать режим без сна, когда вы закончили работу, или случайно положить компьютер в рюкзак, думая, что он перешел в спящий режим, но на самом деле он все еще находится в режиме "Нет сна" с тех пор, как вы его использовали в последний раз. Этот сценарий предотвращает все эти хлопоты.
Он работает, когда вам это нужно, и отключается, когда вам это не нужно. Просто как тот.
Я считаю, что в 2020 году приложение Amphetamine - лучший способ добиться этого.
Мне удалось создать триггер в зависимости от того, подключен ли внешний монитор или нет, и уровня заряда батареи. Потрясающе!