Introdução a "acpid"
O acpid ("Advanced Configuration
and Power Interface" processo de segundo plano de evento) é um
processo de segundo plano completamente flexível e totalmente
extensível para entrega de eventos "ACPI". Ele escuta na interface
"netlink" e, quando ocorre um evento, executa aplicativos para
lidar com o evento. Os aplicativos que ele executa são configurados
por meio de um conjunto de arquivos de configuração, que podem ser
inseridos por pacotes ou pelo(a) usuário(a).
Nota
Alguns outros pacotes também podem lidar com alguns eventos ACPI
e possivelmente conflitem com esse pacote. Por exemplo,
elogind-252.9 (leia-se a documentação
para Handle*=
em logind.conf(5)
para detalhes) e UPower-1.90.2 (usado por muitos ambientes de
área de trabalho como GNOME, KDE e XFCE para lidar com eventos
ACPI). Se você tiver instalado tal pacote e ele for suficiente
para o teu caso de uso, esse pacote provavelmente não é
necessário. Se você realmente precisa desse pacote, você precisa
ser cuidadoso(a) ao configurá-lo e aos outros pacotes que
manuseiam eventos ACPI para evitar conflitos. Notavelmente,
elogind-252.9 lida com alguns eventos
ACPI por padrão, de forma que o tratamento desses eventos pelo
elogind-252.9 deveria ser desabilitado
primeiro se manusear esses eventos com acpid (novamente, leia-se
logind.conf(5)
para detalhes).
Esse pacote é conhecido por construir e funcionar corretamente
usando uma plataforma LFS 12.1.
Informação do Pacote
-
Transferência (HTTP):
https://downloads.sourceforge.net/acpid2/acpid-2.0.34.tar.xz
-
Transferência (FTP):
-
Soma de verificação MD5 da transferência:
988c2e3fd5ba0ea4492d3ba7273af295
-
Tamanho da transferência: 160 KB
-
Espaço em disco estimado exigido: 1,9 MB
-
Tempo de construção estimado: menos que 0,1 UPC
Instalação do "acpid"
Instale acpid executando os
seguintes comandos:
./configure --prefix=/usr \
--docdir=/usr/share/doc/acpid-2.0.34 &&
make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install &&
install -v -m755 -d /etc/acpi/events &&
cp -r samples /usr/share/doc/acpid-2.0.34
Configurando "acpid"
acpid é configurado por eventos
definidos pelo(a) usuário(a). Coloque os arquivos de eventos sob o
diretório /etc/acpi/events
. Se
ocorrer um evento, [então] acpid percorre os arquivos de
eventos para a finalidade de ver se a expressão regular definida
depois de "event" corresponde. Se corresponder, [então] a ação é
executada.
O breve exemplo a seguir suspenderá o sistema quando a tampa do
laptop for fechada (exige pm-utils-1.4.1). O exemplo também
desabilita o tratamento padrão do evento de fechamento da tampa
pelo elogind-252.9 quando o sistema
estiver funcionando com bateria e não conectado a nenhum monitor
externo, para a finalidade de evitar um conflito:
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
mkdir -pv /etc/elogind/logind.conf.d
echo HandleLidSwitch=ignore
> /etc/elogind/logind.conf.d/acpi.conf
Infelizmente, nem todos os computadores rotulam os eventos ACPI da
mesma maneira (por exemplo, a tampa possivelmente seja reconhecida
como LID0
em vez de LID
). Para determinar como teus botões são
reconhecidos, use a ferramenta acpi_listen. Além disso, procure
no diretório samples
sob /usr/share/doc/acpid-2.0.34
para mais exemplos.
Script de Inicialização
Para iniciar automaticamente o acpid quando o sistema for
reinicializado, instale o script de inicialização /etc/rc.d/init.d/acpid
originário do pacote
blfs-bootscripts-20240209.
make install-acpid