Демон apmd - это демон контроля подсистемы APM BIOS. Он будет регистрировать,
с помощью средств демона syslogd(2), изменения
состояния подсистемы APM (например, включение или отключение питания, разрядка или
зарядка батареи). Когда емкость батареи становится слишком низкой, он может уведомить об
этом всех пользователей системы с помощью команды wall(1).
Когда подсистема APM BIOS уведомляет демон об ожидающемся запроса останова или перевода в
режим ожидания, демон apmd вызывает команду sync(2), засыпает на 2 секунды,
а затем сообщает подсистеме APM BIOS о том, что можно продолжить работу. Если происходит
критическое восстановление, демон apmd wпытается переустановить часы.
Попадающая в журнал информация состоит из четырех полей:
Скорость разрядки (процентов/минуту). Отрицательные значения обозначают зарядку.
Время, прошедшее после полной зарядки или полной разрядки (чч:мм:сс). Это значение
имеет такой смысл только если отражает время, прошедшее с момента достижения состояния
зарядки 100% или 0%. В противном случае, время берется в скобки и показывает, сколько прошло
после существенного изменения состояния демона apmd.
Приблизительное время до полной разрядки (или полной зарядки), если использование
системы будет таким же, как после последнего восстановления (или подключения внешнего
источникак тока). Это время рассчитывает сам демон apmd.
В скобках указан процент использования и ожидаемая продолжительность жизни
батареи по оценке подсистемы APM BIOS (которая часто является "самооценкой"
"интеллектуальной" батареи).
Установить часы BIOS в соответствии с временем в часовом поясе UTC (GMT), так что
при запуске из режима останова программе clock или hwclock передается
опция -u.
При каждом изменении зарядки батареи на процент_изменения, регистрировать это изменение
в журнале. Стандартное значение процента измнения - 5. Чтобы отключить регистрацию, задайте
значение больше 100.
Когда батарея не заряжается и процент зарядки падает ниже процента_предупреждения,
в syslog(2) регистрируется предупреждение уровня ALERT.
Если была также указана опция -W или --wall, о потенциальной проблеме
с помощью команды wall(1) информируются все пользователи.
Предупреждение выдается при каждом изменении процента зарядки. Стандартное значение процента
предупреждения - 10. Чтобы отключить предупреждения, задайте отрицательное значение.
Кроме регистрации средствами syslog(2), использовать также
команду wall(1) для уведомления всех пользователей. Это полезно если демон
syslogd(8) не выдает всем пользователям сообщения
уровня ALERT. Если используются оба метода, в критические периоды будет подыматься
больше "шума".
Первый отчет о состоянии, выдаваемых после начала зарядки, может быть неточным,
поскольку зарядка начиналась при дробном значении процента, которое усекается
до целого. Например, батарея разряжена до 50.9% емкости, и это значение уровня
зарядки выдается как 50%. После начала зарядки батареи остается всего 0.1% до
достижения уровня зарядки 51%, соответственно, скорость зарядки будет существенно
завышена при оценке.
Эта программа написана Риком Фейтом (Rik Faith)
(faith@cs.unc.edu) и может свободно распространяться на
условиях Генеральной Общественной Лицензии GNU (General Public License). На эту программу
НЕТ НИКАКИХ ГАРАНТИЙ. Сейчас ее поддержкой занимается Авери Пеннаран (Avery Pennarun)
(apenwarr@worldvisions.ca).