Как зависает мой компьютер?
Попытка понять, как работает suspend в 10.10.
Я использую alias suspend='sudo /etc/acpi/sleep.sh && sudo alsactl init 0
alsactl немного, чтобы заново запустить мою звуковую карту, которая иногда не выходит из режима ожидания правильно.
А потом:
/etc/acpi/sleep.sh -> /usr/sbin/pm-suspend -> /usr/lib/pm-utils/bin/pm-action -> /usr/lib/pm-utils/pm-functions
Ирония это /usr/lib/pm-utils/bin/pm-action утверждает, что "Простой сценарий приостановки".
До сих пор не знаю, как это работает. Я думаю, что я непосредственно использовал s2ram до.
1 ответ
gnome-power-manager инструмент прослушивает события кнопки приостановки и порождает pm-suspend, Обширная деталь о том, как pm-suspend работает можно найти в man pm-suspend вывод команды. Быстрая версия:
/etc/pm/config.dпроверяется на наличие файлов, которые определяют переменные среды.- Каждый из сценариев в
/etc/pm/sleep.dа также/usr/lib/pm-utils/sleep.dвызываются по порядку с аргументом "приостановить". - Система переводится в спящий режим через определенный интерфейсный модуль. По умолчанию это интерфейс приостановки ядра:
echo -n "mem" >/sys/power/state, Увидеть/usr/lib/pm-utils/pm-functionsгдеdo_suspendопределено. - Система просыпается.
- Каждый из сценариев в
/etc/pm/sleep.dа также/usr/lib/pm-utils/sleep.dвызываются в обратном порядке с аргументом "резюме".
Если вам нужно добавить скрипт в стек, я бы предложил добавить его в /etc/pm/sleep.d и назовите его так, чтобы он не конфликтовал с другими скриптами, и убедитесь, что он обрабатывает аргумент "suspend" / "resume".
Для отладки см. /var/log/pm-suspend.log а также справочную страницу, которая содержит больше информации о том, как проводить тестирование.