acpid-2.0.34

Introduksjon til acpid

acpid Advanced Configuration and Power Interface event daemon) er en helt fleksibel, helt utvidbar nisse for å levere ACPI hendelser. Den lytter på netlink grensesnitt og når en hendelse inntreffer, kjører programmer for å håndtere hendelsen. Programmene den kjører er konfigurert gjennom et sett med konfigurasjonsfiler, som kan slippes på plass av pakker eller av brukeren.

[Notat]

Notat

Noen andre pakker kan også håndtere noen ACPI hendelser, og de kan komme i konflikt med denne pakken. For eksempel, Systemd-256.5 (les dokumentasjonen for Handle*= i logind.conf(5) for detaljer) og UPower-1.90.6 (brukes av mange skrivebordsmiljøer som f.eks GNOME, KDE og XFCE for håndtering av ACPI hendelser). Hvis du har installert en slik pakke og det er nok for din brukssituasjon, er denne pakken sannsynligvis ikke nødvendig. Hvis du virkelig trenger denne pakken, må du være nøye med å konfigurere den og de andre pakkene som håndterer ACPI hendelser for å unngå konflikter. Spesielt Systemd-256.5 håndterer noen ACPI hendelser som standard, så håndteringen av disse hendelsene av Systemd-256.5 bør være deaktivert først hvis du håndterer disse hendelsene med acpid (igjen, les logind.conf(5) for detaljer).

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

Pakkeinformasjon

Installasjon av acpid

Installer acpid ved å kjøre følgende kommandoer:

./configure --prefix=/usr \
            --docdir=/usr/share/doc/acpid-2.0.34 &&
make

Denne pakken kommer ikke med en testpakke.

Nå, som root bruker:

make install                         &&
install -v -m755 -d /etc/acpi/events &&
cp -r samples /usr/share/doc/acpid-2.0.34

Konfigurere acpid

acpid er konfigurert av brukerdefinerte hendelser. Plasser hendelsesfiler under /etc/acpi/events mappen. Hvis en hendelse inntreffer, acpid går igjen gjennom hendelsesfilene for å se om regex definert etter "hendelse" stemmer overens. Hvis de gjør det, blir handlingen utført.

Følgende korte eksempel vil suspendere systemet når den bærbare datamaskin lokket er lukket. Eksemplet deaktiverer også standardhåndteringen av lokkets hendelse av Systemd-256.5 når systemet er på batteri og ikke koblet til noen ekstern skjerm, for å unngå konflikt:

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

Dessverre merker ikke alle datamaskiner ACPI hendelser på samme måte (for eksempel kan lokket gjenkjennes som LID0 i stedet for LID). For å finne ut hvordan knappene dine gjenkjennes, bruk acpi_listen verktøyet. Se også i samples mappen under /usr/share/doc/acpid-2.0.34 for flere eksempler.

Systemd Socket

For å starte acpid nissen ved systemstart, installer systemd enheten fra blfs-systemd-units-20240916 pakken ved å kjøre følgende kommando som root bruker:

make install-acpid
[Notat]

Notat

Denne pakken bruker socketbasert aktivering og vil bli startet når noe trenger det. Ingen frittstående enhetsfil er gitt for denne pakken.

Innhold

Installerte Programmer: acpid, acpi_listen, og kacpimon
Installerte Biblioteker: Ingen
Installerte Mapper: /etc/acpi and /usr/share/doc/acpid-2.0.34

Korte Beskrivelser

acpid

er et program som lytter etter ACPI hendelser og utfører reglene som samsvarer med den mottatte hendelsen

acpi_listen

er et enkelt verktøy som kobles til acpid og lytter etter hendelser

kacpimon

er et monitorprogram som kobles til tre kilder til ACPI hendelser (hendelsesfil, netlink og input-lag) og rapporterer deretter om hva det ser mens den er tilkoblet