Як мій комп'ютер призупиняється?


9

Намагаємось зрозуміти, як працює призупинення в 10.10.

http://git.webconverger.org/?p=home.git;a=blob;f=.bashrc;h=8ba57b877e31a03c5f0b1675b42f747d81dd31ad;hb=HEAD#l31

Я використовую 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.


Я знаю, що я не пояснюю багато, але ви можете ввести свою alsactlкоманду в свій власний сценарій, /etc/acpi/resume.d/і вона запуститься на час.
Олі

Оновлення: я просто використовую sudo systemctl suspendзараз.
хендрі

Відповіді:


10

У gnome-power-managerпрослуховує інструмент для припинення подій кнопок і нереститься pm-suspend. Докладні відомості про те, як pm-suspendпрацює, можна знайти у man pm-suspendкомандному висновку. Швидка версія:

  1. /etc/pm/config.d сканується на файли, що визначають змінні середовища.
  2. Кожен із скриптів в /etc/pm/sleep.dі /usr/lib/pm-utils/sleep.dвикликається в порядку аргументу "призупинити".
  3. Система переходить у режим сну через визначений інтерфейсний модуль. За замовчуванням, це є ядром припинення інтерфейсу: echo -n "mem" >/sys/power/state. Подивіться, /usr/lib/pm-utils/pm-functionsде do_suspendвизначено.
  4. Система прокидається.
  5. Кожен із скриптів в /etc/pm/sleep.dі /usr/lib/pm-utils/sleep.dвикликається в зворотному порядку з аргументом "відновити".

Якщо вам потрібно додати скрипт до стеку, я б запропонував додати його /etc/pm/sleep.dі назвати його чимось, що не суперечить іншим сценаріям, і переконайтеся, що він обробляє аргумент "призупинити" / "відновити".

Для налагодження див. /var/log/pm-suspend.logТакож головну сторінку, на якій є додаткова інформація про тестування.


Дякую, але що цікавить, яка саме команда запускати "призупинення ядра" на кроці 3?
хендрі

Я оновив, щоб зараз включити цю деталь.
Кіс Кук
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.