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,
Systemd-254 (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, Systemd-254 lida
com alguns eventos ACPI por padrão, de forma que o tratamento
desses eventos pelo Systemd-254 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.0.
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-254 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-20230816
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.