Je veux exécuter un script sur la déconnexion des écouteurs, mais je n'apprécie pas l'idée d' une interrogation constante de l'état lorsqu'il y a déjà du code exécuté lorsqu'il est modifié.
headphones
soundcard
monitoring
int_ua
la source
la source
DBUS_SESSION_BUS_ADDRESS
variable environ dans un fichier de votre homedir avec un script commencé par~/.config/autostart/dbus.desktop
. Ensuite, vous pouvez exécuter àsu YOURUSER -c "DBUS_SESSION_BUS_ADDRESS=$(cat ~/.dbus_address) amixer ......."
partir de/etc/acpi/your-script.sh
La version actuelle de votre script contient désormais une
sleep 0.25
commande.sleep
est basé sur une minuterie, donc n'utilise aucun cycle de traitement pendant le sommeil ...Il utilise un tout petit peu de CPU pour configurer la minuterie, mais
sleep 1
(sommeil 1 seconde),sleep 60
(sommeil pendant une minute) etsleep 86400
(sommeil pendant une journée) utilisent tous le même nombre de cycles CPU.L'utilisation d'ACPI est cependant la solution parfaite car ACPI est piloté par les événements plutôt que par les sondages.
la source