Introduction à acpid
Le paquet acpid (Advanced
Configuration and Power Interface event Daemon) est un démon
complètement flexible, totalement extensible pour délivrer les
événements ACPI. Il écoute sur les interfaces et quand un événement
arrive, exécute des programmes pour gérer l'événement. Les
programmes qui sont exécutés sont configurés au travers une
collection de fichiers de configuration, ils peuvent être mis en
place par les paquets ou par l'utilisateur.
Note
D'autres paquets peuvent également gérer certains événements ACPI
et peuvent entrer en conflit avec ce paquet. Par exemple,
Systemd-255 (voir la documentation de
Handle*=
dans logind.conf(5)
pour plus de détails) et UPower-1.90.2 (utilisé par plusieurs
environnements de bureau comme GNOME, KDE et XFCE pour gérer les
événements ACPI). Si vous avez installé un tel paquet et qu'il
suffit pour votre usage, ce paquet n'est probablement pas
nécessaire. Si vous avez vraiment besoin de ce paquet, vous devez
soigneusement configurer ce paquet et les autres paquets qui
pourraient gérer des événements ACPI pour éviter des conflits. En
particulier, Systemd-255 gère
certains événements ACPI par défaut, donc la gestion de ces
événements par Systemd-255 doit
être désactivée si vous gérez ces événements par acpid (de
nouveau, consultez logind.conf(5)
pour plus de détails).
This package is known to build and work properly using an LFS 12.1
platform.
Informations sur le paquet
Installation de acpid
Installez acpid en exécutant les
commandes suivantes :
./configure --prefix=/usr \
--docdir=/usr/share/doc/acpid-2.0.34 &&
make
Ce paquet n'a pas de suite de tests.
Maintenant, en tant qu'utilisateur root
:
make install &&
install -v -m755 -d /etc/acpi/events &&
cp -r samples /usr/share/doc/acpid-2.0.34
Configurer acpid
acpid est configuré par des
événements définis par l'utilisateur. Placez les fichiers
événements dans le répertoire /etc/acpi/events
. Si un événement arrive,
acpid parcourt
récursivement les fichiers d'événements dans l'ordre pour voir si
la "regex" définie après "event" correspond. Si c'est le cas,
l'action est exécutée.
Le court exemple suivant met le système en veille lorsque l'écran
de l'ordinateur portable est fermé. L'exemple désactivée également
la gestion par défaut de l'événement de fermeture de l'écran par
Systemd-255 lorsque le système est sur
batterie et n'est pas connecté à un écran externe, pour éviter un
conflit :
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
Malheureusement, tous les ordinateurs n'appellent pas les
événements ACPI de la même façon (par exemple, l'écran peut être
reconnu comme LID0
au lieu de
LID
). Pour déterminer comment votre
bouton est reconnu, utilisez l'outil acpi_listen. Vous pouvez
également regarder dans le répertoire samples
dans /usr/share/doc/acpid-2.0.34
pour plus d'exemples.
Socket Systemd
Pour démarrer le démon acpid au démarrage, installez
l'unité depuis le paquet blfs-systemd-units-20240205 en
exécutant la commande suivante en tant qu'utilisateur
root
:
make install-acpid
Note
Ce paquet utilise l'activation par socket et sera démarré
lorsque quelque chose en aura besoin. Aucun fichier d'unité
seul n'est fournit avec ce paquet.