Introdução ao "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,
Systemd-256.4 (leia-se a documentação
para Handle*=
em logind.conf(5)
para detalhes) e UPower-1.90.4 (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,
Systemd-256.4 lida com alguns eventos
ACPI por padrão, de forma que o tratamento desses eventos pelo
Systemd-256.4 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.2.
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. O exemplo também desabilita o tratamento padrão
do evento de fechamento da tampa pelo Systemd-256.4 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/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
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.
Soquete do Systemd
Para iniciar o processo de segundo plano acpid na inicialização, instale
a unidade do "systemd" a partir do pacote blfs-systemd-units-20240801
executando o seguinte comando como o(a) usuário(a) root
:
make install-acpid
Nota
Esse pacote usa ativação baseada em soquete e será iniciado
quando algo precisar. Nenhum arquivo de unidade independente é
fornecido para esse pacote.