Quero executar um script em desconectar fones de ouvido, mas me ressenti da ideia de pesquisa constante do status quando já existe algum código executado quando ele é alterado.
headphones
soundcard
monitoring
int_ua
fonte
fonte
DBUS_SESSION_BUS_ADDRESS
variável de ambiente em um arquivo em sua propriedade com um script iniciado~/.config/autostart/dbus.desktop
. Então você pode executar asu YOURUSER -c "DBUS_SESSION_BUS_ADDRESS=$(cat ~/.dbus_address) amixer ......."
partir de/etc/acpi/your-script.sh
A versão atual do seu script agora contém um
sleep 0.25
comando.sleep
é baseado em timer, portanto, não usa nenhum ciclo de processamento enquanto dorme ...Ele usa um pouquinho muito pequeno de CPU para configurar o timer, mas
sleep 1
(espera 1 segundo),sleep 60
(espera por um minuto) esleep 86400
(espera por um dia), todos usam o mesmo número de ciclos de CPU.No entanto, o uso da ACPI é a solução perfeita , pois a ACPI é orientada a eventos, em vez de orientada por pesquisas.
fonte