Não é possível disparar um script após a ocorrência de um evento ACPI

Não é possível disparar um script após a ocorrência de um evento ACPI

Minha intenção é disparar um script quando meus fones de ouvido forem conectados ao meu PC. Primeiramente, para verificar se tal evento foi realmente detectado, corri acpi_listene tentei conectar/desconectar os fones de ouvido algumas vezes. Aqui está a saída que deu:

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

Então, estou assumindo que o evento foi capturado corretamente. O que fiz então foi criar um novo evento chamado jack-headphoneunder /etc/acpi/eventse preenchê-lo com o seguinte conteúdo:

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

Por fim, criei o script real ( /etc/acpi/jack-headphone.sh) que gostaria de executar sempre que conectar/desconectar meus fones de ouvido e tornei-o executável usando

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

Esta é a aparência do script 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

O comando pacmd set-source-port 1 analog-input-headset-micdefine o microfone dos fones de ouvido como entrada padrão, enquanto pacmd set-source-port 1 analog-input-internal-micfaz o mesmo com o microfone interno. O que acontece é que se eu executar esses comandos em um terminal, eles se comportarão conforme o esperado, trocando a entrada padrão pela apropriada. No entanto, quando eu conecto/desconecto meus fones de ouvido e o script jack-headphone.shé acionado, a entrada padrão não é modificada de acordo. Como isso é possível?

Estou faltando alguma coisa ou fazendo algo errado aqui? Para constar, estou usando o Ubuntu 18.04

informação relacionada