
Я использую Parabola (на основе Arch) и хотел бы использовать firejail для изоляции одного или двух менее доверенных приложений (в частности, steam). Однако при запуске приложений в firejail (даже с опцией --noprofile, которая должна обеспечивать наименее ограничивающую песочницу) я не слышу никакого звука. Я пробовал использовать steam и rhythmbox, и у обоих была та же проблема.
У меня есть открытый билетздесьна github. Я использую pulseaudio и подозреваю, что проблема может быть схожей с той, почему у меня также нет звука, когда я запускаю те же приложения из терминала как пользователь root (потому что самому firejail нужны привилегии суперпользователя для настройки песочницы, прежде чем передать управление приложению, находящемуся в тюрьме).
Есть ли способ включить звук в PulseAudio для пользователя root, так что если я войду на рабочий стол как обычный пользователь; su
войду в терминал под учетной записью root; а затем запущу Rhythmbox, звук будет воспроизводиться? Я знаю об этомсуществующий ответ; однако, похоже, у меня это не работает (вероятно, это сработает только в том случае, если я войду в сеанс рабочего стола как пользователь root, чего я делать не хочу).
решение1
Вы пробовали пакет Apulse?
Программа предоставляет альтернативную частичную реализацию API PulseAudio. Она состоит из скрипта загрузчика и ряда общих библиотек с теми же именами, что и у оригинального PulseAudio, поэтому приложения могут динамически загружать их и думать, что они общаются с PulseAudio. Внутри не используется отдельный демон микширования звука. Вместо этого apulse использует плагины ALSA dmix, dsnoop и plug для обработки нескольких источников звука и захвата потоков, работающих одновременно. Плагин dmix мультиплексирует несколько потоков воспроизведения; плагин dsnoop позволяет нескольким приложениям захватывать с одного микрофона; а плагин plug прозрачно преобразует звук между различными форматами сэмплов, частотами дискретизации и номерами каналов.
apulse <program>
решение2
Отвечая на свой собственный вопрос: я удалил pulseaudio, и теперь звук, кажется, работает нормально в приложениях firejailed (предположительно, теперь они напрямую используют ALSA). Я подозреваю, что проблема была в том, что pulseaudio не разрешает доступ к серверу для пользователя root; однако firejail требует привилегий root.