pulseaudio: auto switch sink when headphones connected

Выполните:

apt-get update && apt-get upgrade

и попробуйте еще раз. Если это не сработает, опубликуйте содержимое /etc/sources.list

3
04.02.2017, 23:11
1 ответ

Я нашел решение благодаря в этом обсуждении и paswitch . Таким образом, acpid можно использовать для перехвата событий подключения / отключения наушников.

Я создал следующие файлы:

/ etc / acpi / events / headphone-jack:

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

/etc/acpi/headphone-jack.sh (не забудьте сделать его исполняемым):

#!/bin/bash
set -e -u

if [ "$1" = "jack/headphone" -a "$2" = "HEADPHONE" ]; then
    case "$3" in
        plug)
            sink=alsa_output.pci-0000_00_1b.0.analog-stereo
            ;;
        *)
            sink=alsa_output.pci-0000_01_00.1.hdmi-stereo
            ;;
    esac
    for userdir in /run/user/*; do
        uid="$(basename $userdir)"
        user="$(id -un $uid)"
        if [ -f "$userdir/pulse/pid" ]; then
            PULSE_RUNTIME_PATH="$userdir/pulse" su "$user" -c "paswitch $sink"
        fi
    done
fi

Снижается естественно необходимо обновить в зависимости от вашей системы.

Я не уверен, насколько надежен этот сценарий для реальной многопользовательской системы, но у меня он работает.

0
27.01.2020, 21:36

Теги

Похожие вопросы