Quiero ejecutar un script en la desconexión de auriculares, pero me molesta la idea de un sondeo constante del estado cuando ya hay algún código ejecutado cuando se cambia.
headphones
soundcard
monitoring
int_ua
fuente
fuente

DBUS_SESSION_BUS_ADDRESSvariable de entorno en un archivo en su homedir con un script iniciado~/.config/autostart/dbus.desktop. Entonces puedes huirsu YOURUSER -c "DBUS_SESSION_BUS_ADDRESS=$(cat ~/.dbus_address) amixer ......."de/etc/acpi/your-script.shLa versión actual de su script ahora contiene un
sleep 0.25comando.sleepestá basado en temporizador, por lo que no utiliza ningún ciclo de procesamiento mientras duerme ...Utiliza una pequeña cantidad de CPU para configurar el temporizador, pero
sleep 1(dormir 1 segundo),sleep 60(dormir un minuto) ysleep 86400(dormir un día) todos usan el mismo número de ciclos de CPU.Sin embargo, usar ACPI es la solución perfecta , ya que ACPI se basa en eventos en lugar de en encuestas.
fuente