No se puede activar un script cuando ocurre un evento ACPI

No se puede activar un script cuando ocurre un evento ACPI

Mi intención es ejecutar un script cuando mis auriculares se conectan a mi PC. En primer lugar, para comprobar que dicho evento realmente se detectó, corrí acpi_listene intenté enchufar/desconectar los auriculares varias veces. Aquí está el resultado que dio:

jack/headphone HEADPHONE plug
jack/headphone HEADPHONE unplug
jack/headphone HEADPHONE plug
jack/headphone HEADPHONE unplug

Entonces, supongo que el evento se captó correctamente. Lo que luego hice fue crear un nuevo evento llamado jack-headphoneunder /etc/acpi/eventsy llenarlo con el siguiente contenido:

event=jack/headphone
action=/etc/acpi/jack-headphone.sh %e

Finalmente, creé el script real ( /etc/acpi/jack-headphone.sh) que me gustaría ejecutar cada vez que conecto o desconecto mis auriculares y luego lo hice ejecutable usando

sudo chmod +x /etc/acpi/jack-headphone.sh 

Así es como se ve el guión real:

#!/bin/bash
set -e -u

if [ "$1" = "jack/headphone" -a "$2" = "HEADPHONE" ]; then
    case "$3" in
        plug)
            pacmd set-source-port 1 analog-input-headset-mic
            ;;
        unplug)
            pacmd set-source-port 1 analog-input-internal-mic
            ;;
    esac
fi

El comando pacmd set-source-port 1 analog-input-headset-micconfigura el micrófono de los auriculares como entrada predeterminada, mientras que pacmd set-source-port 1 analog-input-internal-michace lo mismo con el micrófono interno. Lo que sucede es que si ejecuto dichos comandos en una terminal, se comportan como se esperaba, cambiando la entrada predeterminada a la apropiada. Sin embargo, cuando conecto o desconecto mis auriculares y jack-headphone.shse activa el script, la entrada predeterminada no se modifica en consecuencia. ¿Como es eso posible?

¿Me estoy perdiendo algo o estoy haciendo algo mal aquí? Para que conste, estoy usando Ubuntu 18.04.

información relacionada