Триггеры для гибернации:
- Нажмите кнопку Hibernate в Kickoff -> Выйти -> Hibernate
- Нажмите Hibernate на значке энергии на панели задач.
- Отправить сигнал dbus:
qdbus org.kde.kded /modules/powerdevil suspend 4
Когда спящий режим запускается, это поток выполнения:
/usr/lib/hal/scripts/linux/hal-system-power-hibernate-linux
называется
/usr/sbin/pm-hibernate
вызывается с некоторыми аргументами
- Ведение журнала начинается с
/var/log/pm-suspend.log
- Крючки выполнены для подготовки к зимней спячке. Эти крючки расположены в
/usr/lib/pm-utils/sleep.d/
и /etc/pm/sleep.d
и отсортированы по имени (сначала номера)
performing hibernate
записывается в журнал
- Вызывается функция оболочки
do_hibernate
, инструктирующая систему переходить в спящий режим.
- Когда система возобновляет работу, выполняются зацепки для восстановления из спящего режима
- Система снова работает
Чтобы отключить гибернацию, создайте /etc/pm/sleep.d/000no-hibernation
со следующим контентом:
#!/bin/sh
# prevents hibernation
. "$PM_FUNCTIONS"
[ "$1" = "hibernate" ] && inhibit || true
Как 000no-hibernation
и прежде, чем сценарии 00logging
(выводит модули и информацию о памяти в журнале), никакие приложения или модули не прерываются и не выгружаются. Это имя было вдохновлено /usr/lib/pm-utils/sleep.d/000kernel-change
. Остерегайтесь ошибки # 665651, из-за которой ненулевые возвращаемые значения хуков не могут отменить приостановку или спящий режим.
Это исправляет проблему гибернации для меня. Хотя экран заблокирован, я могу жить с этим. Это намного лучше по сравнению с аварийной системой.