Как зависает мой компьютер?
Попытка понять, как работает 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
а также справочную страницу, которая содержит больше информации о том, как проводить тестирование.