Introduction to acpid
The acpid (Advanced Configuration and Power
Interface event daemon) is a completely flexible, totally extensible
daemon for delivering ACPI events. It listens on netlink interface and
when an event occurs, executes programs to handle the event. The programs
it executes are configured through a set of configuration files, which can
be dropped into place by packages or by the user.
This package is known to build and work properly
using an LFS 11.3 platform.
Package Information
User Notes:
https://wiki.linuxfromscratch.org/blfs/wiki/acpid
Installation of acpid
Install acpid by
running the following commands:
./configure --prefix=/usr \
--docdir=/usr/share/doc/acpid-2.0.34 &&
make
This package does not come with a test suite.
Now, as the root
user:
make install &&
install -v -m755 -d /etc/acpi/events &&
cp -r samples /usr/share/doc/acpid-2.0.34
Configuring acpid
acpid is configured by user defined events.
Place event files under
/etc/acpi/events
directory. If an
event occurs, acpid recurses through the event files in
order to see if the regex defined after "event" matches. If they do,
action is executed.
The following brief example will suspend the system when the laptop lid
is closed (it requires pm-utils-1.4.1):
cat > /etc/acpi/events/lid << "EOF"
event=button/lid
action=/etc/acpi/lid.sh
EOF
cat > /etc/acpi/lid.sh << "EOF"
#!/bin/sh
/bin/grep -q open /proc/acpi/button/lid/LID/state && exit 0
/usr/sbin/pm-suspend
EOF
chmod +x /etc/acpi/lid.sh
Unfortunately, not every computer labels ACPI events in the same way. To
determine how your buttons are recognized, use the
acpi_listen tool. Also, look in the samples
directory under /usr/share/doc/acpid-2.0.34
for more examples.
Boot Script
To automatically start acpid when the system is
rebooted, install the /etc/rc.d/init.d/acpid
boot script from the blfs-bootscripts-20230101 package.
make install-acpid