Давняя проблема была – с момента покупки нового ноута, наверное, когда установил туда Debian 9, где уже подтянулся и Pulseaudio со всякими там systemd – так вот, помимо традиционного “пш-ш-ш” вместо звука, которое как-то само по себе появилось, а потом так же само пропало, была еще проблема с микшированием звука от разных приложений.
А именно – звук от Firefox’а блокировал карту и не давал работать видеоплееру. Ну и наоборот. Как в старые и не очень добрые времена, когда не везде работало аппаратное микширование звука на картах и приходилось шаманить с плагинами в ALSA. Причем, Firefox иногда как-то хитро захватывал карту, что даже после закрытия вкладки с youtube карта все равно оставалась блокирована. Приходилось запускать короткий звук в другой вкладке, чтобы Firefox “отвисал” и после завершения звука можно было пользоваться другими приложениями.
А вчера наконец-то понял корень проблемы. Обе “ветки приложений” – firefox и что-то другое – используют Pulseaudio. Обе запускают пользовательский pulseaudio. Только вот пользователь для firefox у меня-то отдельный. Когда была чисто ALSA – все работало. А сейчас один PA блокирует работу другого.
Решение – указать для пользователя firefox’а использование PA от основного пользователя. Описано в разных вариантах тут: http://billauer.co.il/blog/2014/01/pa-multiple-users/ – особо стоит обратить внимание на вариант с unix-сокетом, а также то, что конфиг PA лежит не обязательно в ~/.pulse/, а бывает и в ~/.config/pulse/; плюс include вместо копирования дефолтного конфига.
Продублирую основные моменты тут:
~/.config/pulse/default.pa
.include /etc/pulse/default.pa
load-module module-native-protocol-unix auth-anonymous=1 socket=/tmp/my-pulse-socket-name
~/.config/pulse/client.conf
default-server = unix:/tmp/my-pulse-socket-name
либо
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
и
default-server = 127.0.0.1
соответственно.
Потом рестартим PA у пользователя:
$ pulseaudio -k
$ pulseaudio -D
Ну и плюс рестарт “клиентского” приложения.