[sisyphus] pulseaudio vs multiseat

Alexei Mezin alexei.mezin на gmail.com
Вт Авг 13 15:41:09 MSK 2019


13.08.2019 14:35, Paul Wolneykien пишет:
>    Может быть можно из ~/.bashrc или ~/.profile переписывать
> ~/.config/pulse/default.pa согласно признаку рабочего места (номеру VT
> или чего там?)?

Как-нибудь можно разобраться, на каком рабочем месте вошел пользователь. 
Я не понял, как pulse работает вообще.

Стартовая точка: есть один юзер, есть одна карта, все настройки по 
дефолту, пульс стартует от имени пользователя (видимо, через какие-то 
сокеты systemd). Ставлю тип выхода "4.1", вставляю две пары колонок в 
звуковуху, играют.

Первый шаг:
настраиваю /etc/pulse/default.pa на предмет создания двух sink'ов из 
fron и rear выходов. Теперь можно через pavucontrol выводить звук на 
одни колонки или на другие.

Второй шаг:
Добавляю в систему второго пользователя, добавляю его в группу audio. 
Теперь при обычных логина у обоих пользователей одинаковая ситуация: 
есть ТРИ возможных sink'а. "Стандартный" с index0, бывший фронтальный 
выход с index1, бывшый тыловой выход с index2. Тут сразу первый вопрос: 
а нельзя ли удалить index0 совсем, ибо он не нужен?

Третий шаг:
делаю seat0 и seat1, появляется одновременная возможность входа для двух 
пользователей. Но они одновременно видят звуковую систему идентичным 
образом, одновременно меняют себе выход по умолчанию, громкость и т.п.

А дальше становится непонятно. В интернетах советуют два пути: либо один 
юзер "основной", а второму разрешается подключаться к нему и сливать на 
него звук. Но мне показалось, что это как-то криво. Второй путь: 
запустить pulseaudio в режиме system-wide, сказать ему принимать 
соединения через unix socket, пользователям же в настройках указать 
соединяться с системным pulse через этот сокет.

А далее инструкции в лучшем случае туманные, а скорее их нет вообще.

1. Просто так с ключом --system у нас pulse не запускается, говорит, что 
не загружено ни одного модуля, и он работать не будет. Во всех 
инструкциях всем достаточно просто указать ключ.

Я "выкрутился" путем указания явно файла конфига default.pa. Вобщем-то 
того самого, что был на шаге 2. А как надо было?

Как вообще все должно работать? Общесистемный pulse должен иметь 
настроенных два разных выхода, а пользователи должны к нему 
присоединяться и выбирать себе один из выходов по умолчанию? Или 
общесистемный pulse должен работать "по дефолту", а уже пользовательские 
экземпляры настраивать себе разные выходы посредством ~/.pulse/default.pa?

2. У меня в таком режиме оба пользователя видят все три выхода index0, 
index1 и index2, и могут выводить звук на них по своему усмотрению. При 
этом через pavucontrol дефолтный выход меняется синхронно у обоих 
пользователей. Что начисто портит всю идею.


Подробная информация о списке рассылки Sisyphus