Невозможно запустить скрипт при возникновении события ACPI

Невозможно запустить скрипт при возникновении события ACPI

Я намерен запустить скрипт, когда мои наушники подключаются к моему ПК. Во-первых, чтобы проверить, что такое событие действительно отслеживается, я запустил acpi_listenи попробовал подключить/отключить наушники несколько раз. Вот что он выдал:

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

Итак, я предполагаю, что событие правильно перехвачено. Затем я создал новое событие с именем jack-headphoneunder /etc/acpi/eventsи заполнил его следующим содержимым:

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

Наконец, я создал сам скрипт ( /etc/acpi/jack-headphone.sh), который я хотел бы запускать всякий раз, когда я подключаю/отключаю наушники, а затем сделал его исполняемым с помощью

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

Вот как выглядит сам сценарий:

#!/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

Команда pacmd set-source-port 1 analog-input-headset-micустанавливает микрофон наушников в качестве входа по умолчанию, тогда как pacmd set-source-port 1 analog-input-internal-micто же самое происходит с внутренним микрофоном. Что происходит, так это то, что если я запускаю такие команды в терминале, они ведут себя как и ожидалось, переключая вход по умолчанию на соответствующий. Однако, когда я подключаю/отключаю наушники и скрипт jack-headphone.shзапускается, вход по умолчанию не изменяется соответствующим образом. Как это возможно?

Я что-то упускаю или делаю что-то не так? Для справки, я использую Ubuntu 18.04

Связанный контент