закрытие крышки и приостановка работы в оперативной памяти: какое программное обеспечение задействовано?

закрытие крышки и приостановка работы в оперативной памяти: какое программное обеспечение задействовано?

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

  • "suspend-to-ram" работает хорошо, зависит от состояния входа и tty3. У меня есть и wayland, и Xorg, а иногда и консоль, работающая на 1-5 tty
  • похоже, что systemd logindнекоторые из моих DE (наиболее заметные Gnome3и xfce) задействованы.
  • при повторном открытии крышки и возобновлении с последнего suspend-to-ramэта gdmштука не позволяет выполнить «приостановку в оперативную память», заставляя меня заблокировать ее до того, как появится еще один шанс (это ненадежно) «приостановки в оперативную память», что само по себе занимает до 5+ секунд (что я могу сказать по тому, что в этот самый момент воспроизводится звук, от закрытия крышки до выключения музыки легко проходит от 7 до 10 секунд)

Я помню (из предыдущего опыта решения похожей проблемы, связанной с приостановкой работы в оперативной памяти), что «современный» Linux с Gnomeи systemdи loginkit, и logindбыл склонен к проблемам с приостановкой работы, поскольку различное программное обеспечение сообщало «крышка закрыта» и в то же время «запрещало приостановку работы в оперативной памяти».

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

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

  • системд
  • дебиан / убунту 18.04
  • Гном 3

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

и другой "полезный" автоматизм, как по мне, просто базовый (но работающий):

root@box$ while sleep 1; do 
    grep "closed" /proc/acpi/button/lid/LID0/state && {
        systemctl suspend 
        sleep 3 
    } 
    done 

было бы достаточно.

В любом случае, основная информация, которую пытается получить этот вопрос, такова (какое программное обеспечение участвует в задаче «проверки состояния крышки» и, следовательно, «приостановки в ОЗУ»?)

решение1

Итак, судя по всему, acpidон работает в вашей системе (см. комментарии), вероятно, именно этот программный компонент управляет управлением питанием.

Он настраивается через /etc/acpi/. Например, в моем Debian у меня есть /etc/acpi/events/lidbtnфайл конфигурации, который используется для определения того, как реагировать на каждое событие, связанное с крышкой.

Это содержит:

# /etc/acpi/events/lidbtn
# Called when the user closes or opens the lid

event=button[ /]lid
action=/etc/acpi/lid.sh

Затем я хочу добавить некоторые действия, которые будут выполняться во время закрытия крышки, мне просто нужно добавить их в нужное место оболочки /etc/acpi/lid.sh. Существует множество переменных окружения, acpidкоторые могут помочь определить тип события.

Более подробную информацию можно найти на странице руководства acpid.

Связанный контент