#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 12. System Utilities

- Prev

  AccountsService-23.13.9

- Next

  at-3.2.5

- Up
- Home

# acpid-2.0.34

## 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.

### Note

Some other packages may handle some ACPI events as well and they may conflict with this package. For example, Systemd-260.1 (read the documentation for `Handle*=` in logind.conf(5) for details) and UPower-1.91.2 (used by many desktop environments such as GNOME, KDE, and XFCE for handling ACPI events). If you've installed such a package and it's enough for your use case, this package is probably not needed. If you really need this package, you must be careful configuring it and the other packages handling ACPI events to avoid conflicts. Notably, Systemd-260.1 handles some ACPI events by default, so the handling of these events by Systemd-260.1 should be disabled first if handling these events with acpid (again, read logind.conf(5) for details).

### Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

### Package Information

- Download (HTTP): https://downloads.sourceforge.net/acpid2/acpid-2.0.34.tar.xz

- Download MD5 sum: 988c2e3fd5ba0ea4492d3ba7273af295

- Download size: 160 KB

- Estimated disk space required: 1.9 MB

- Estimated build time: less than 0.1 SBU

## 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. The example also disables the default handling of the lid close event by Systemd-260.1 when the system is on battery and not connected to any external monitor, in order to avoid a conflict:

    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/bin/systemctl suspend
    EOF
    chmod +x /etc/acpi/lid.sh

    mkdir -pv /etc/systemd/logind.conf.d
    echo HandleLidSwitch=ignore > /etc/systemd/logind.conf.d/acpi.conf

Unfortunately, not every computer labels ACPI events in the same way (for example, the lid may be recognized as `LID0` instead of `LID`). 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.

### Systemd Socket

To start the acpid daemon at boot, install the systemd unit from the blfs-systemd-units-20251204 package by running the following command as the `root` user:

    make install-acpid

### Note

This package uses socket based activation and will be started when something needs it. No standalone unit file is provided for this package.

## Contents

Installed Programs: acpid, acpi_listen, and kacpimon
Installed Libraries: None
Installed Directories: /etc/acpi and /usr/share/doc/acpid-2.0.34

### Short Descriptions

acpid | is a program that listens for ACPI events and executes the rules that match the received event
acpi_listen | is a simple tool which connects to acpid and listens for events
kacpimon | is a monitor program that connects to three sources of ACPI events (events file, netlink and input layer) and then reports on what it sees while it is connected

- Prev

  AccountsService-23.13.9

- Next

  at-3.2.5

- Up
- Home