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

Вопрос или проблема

ФОН

Я пытаюсь настроить домашний сервер с круглосуточным доступом на моем 10-летнем ноутбуке MacbookPro, но я хочу, чтобы он был сложен большую часть времени (из-за ограниченного физического пространства).

Хотя мне иногда нужно использовать графический интерфейс, поэтому я хотел бы иметь систему с GUI, а не устанавливать ‘безголовую’ серверную версию.

Таким образом, когда крышка экрана закрыта (=ноутбук сложен), я хочу, чтобы все было ВКЛЮЧЕНО (включая Wi-Fi и все сетевые службы и приложения, работающие на системе), ЗА ИСКЛЮЧЕНИЕМ экрана (я хочу, чтобы экран был ВЫКЛЮЧЕН только тогда, когда крышка закрыта)

ТЕКУЩАЯ СИТУАЦИЯ

(1). Под графическим интерфейсом (после входа в систему) я изменил поведение ‘закрытия крышки’ на ‘заблокировать экран’ и отключил спящий режим (под моими обычными именами пользователей, а также под root-учетной записью). Теперь после входа в систему под графическим интерфейсом, если я закрываю крышку, экран быстро гаснет (как я могу судить по свету логотипа APPLE на задней стороне экрана), при этом сеть (Wi-Fi) всегда подключена (проверено более 10 часов).

(2). При настройках, упомянутых в (1), если система перезагружается (или загружается заново) без входа в систему под графическим интерфейсом с закрытой крышкой, система на время подключается к Wi-Fi, а затем отключается. И это не то, что я хотел, потому что систему можно перезагрузить удаленно без ручного входа в систему через графический интерфейс.

ЧТО Я ПОПЫТАЛСЯ СДЕЛАТЬ

(a)

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

(b)

В файле /etc/systemd/sleep.conf.d/nosuspend.conf

[Sleep]
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

(c)

В файле /etc/systemd/logind.conf

[Login]
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore

(d)

В файле /etc/systemd/logind.conf

[Login]
HandleLidSwitch=lock

Вышеупомянутые (a), (b), (c), (d) были протестированы отдельно, после чего последовала перезагрузка. Все они могли поддерживать систему ‘живой’ (Wi-Fi подключен и службы/приложения работают) ДО входа через GUI. НО во всех 4 ситуациях экран остается ВКЛЮЧЕННЫМ всегда (когда крышка закрыта)…

Как я могу выключить экран (подсветку также) только при этом оставив все остальное работающим даже до входа в систему? Спасибо!

Ответ или решение

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

Фон

Вы создали домашний сервер на базе MacBook Pro, который должен работать круглосуточно. При этом важно, чтобы при закрытой крышке экран ноутбука отключался, а все сетевые подключения оставались активными. Ваша текущая конфигурация позволяет добиться этого после авторизации, но проблема возникает при перезагрузке или свежей загрузке системы с закрытой крышкой — в этом случае Wi-Fi отключается.

Проблема

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

Решение

Для достижения желаемого поведения вам необходимо внести изменения в конфигурацию системы и убедиться, что вы используете правильные параметры, которые поддерживают состояние ‘всё включено’ при закрытой крышке.

  1. Проверьте BIOS/EFI настройки:

    • Убедитесь, что в настройках BIOS или EFI (в зависимости от версии) не стоит параметр, который отвечает за автоматическую блокировку или переход в спящий режим при закрытии крышки. Это может мешать правильной работе настроек.
  2. Настройка systemd:

    • Откройте конфигурацию logind с помощью команды:
      sudo nano /etc/systemd/logind.conf
    • Убедитесь, что у вас прописано следующее:
      [Login]
      HandleLidSwitch=ignore
    • После этого перезагрузите систему, чтобы изменения вступили в силу.
  3. Используйте скрипт для отключения экрана:

    • Напишите простой shell-скрипт, который будет отключать экран, когда ноутбук обнаруживает закрытую крышку. Для этого создайте файл, например, lid-close.sh:
      #!/bin/bash
      xset dpms force off
    • Дайте этому скрипту права на выполнение:
      chmod +x lid-close.sh
  4. Настройка автоматического выполнения скрипта:

    • Для автоматизации отключения экрана при закрытии крышки на этапе загрузки, вы можете использовать систему cron или создать службу systemd:
      sudo systemctl enable your-script.service
  5. Дополнительно:

    • Если система все еще не отключает экран, вы можете использовать команды xrandr для более точного контроля над состоянием экрана. Добавьте эти команды в ваш скрипт для отключения экрана.

Итог

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

Оцените материал
Добавить комментарий

Капча загружается...