[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