Сильно зависит от того, что используется для вывода звука - alsa, pipewire, pulseaudio. Через alsa смогут играть все пользователи, которые в группе audio. С остальными вариантами сложнее, тут нужна конкретика, какая задача, что для чего и как надо.
Задача простая — Сборка, ориентированная на безопасность.
Отдельный пользователь на каждый сервис — такой подход используется в systemd. Одна программа — один пользователь. Такой подход используется в Android.
Хотелось бы изолировать отдельные программы от остальной системы. В первую очередь, конечно, браузер. Таким образом даже потенциальный взлом браузера не привел бы к утечке.
Я в курсе существования AppArmor и SELinux. Но в них не разбираюсь. Кроме того, если все же наложить потом дополнительно правила AppArmor. То лучше было бы наложить их уже на базовую систему безопасности. Просто ИМХО. Вобщем-то я считаю его здесь пока излишним…
GUI замечательно запускается в иксах после xhost + si:localuser:test. Но звука нет. Неприятно.
$ ls -l ~/.asoundrc /etc/asound.conf
ls: невозможно получить доступ к '/home/user/.asoundrc': Нет такого файла или каталога
ls: невозможно получить доступ к '/etc/asound.conf': Нет такого файла или каталога
$ find / -name '*asoundrc*'
/usr/share/doc/libasound2t64/examples/asoundrc.txt
Похоже, рано я радовался, внезапно звук опять перестал работать. «ошибка открытия устройства: Устройство или ресурс занято». При том, что вроде бы ничего не трогал. Только создал пользователя torbrowser, запустил браузер, да перегрузился пару раз.
ALSA (ядерные драйверы звуковых адаптеров) не позволяет одновременное использование аудио устройств. Одно аудио устройство может открыть только один процесс. Остальные процессы при попытке открыть устройство получат ошибку EBUSY.
Для совместного использования одного аудио устройства из нескольких процессов нужен звуковой сервер. Сервер открывает звуковое устройство, принимает соединения от программ звуковых клиентов, микширует аудиопотоки от клиентов и пишет в аудиоустройство (для вывода звука), читает аудиопоток от устройства и дублирует его клиентам (для ввода звука).
В линуксе аудио серверов много: pulseaudio, pipewire, jack. Но они все запускаются как часть пользовательской сессии. Чтобы был возможен мультисит — у каждой пользовательской сессии своя звуковуха. Если тебе надо расшарить одну звуковуху на нескольких пользователей, надо разобраться, как запустить звуковой сервер вне пользовательской сессии (видимо, как системный сервис).
ALSA (ядерные драйверы звуковых адаптеров) не позволяет одновременное использование аудио устройств. Одно аудио устройство может открыть только один процесс. Остальные процессы при попытке открыть устройство получат ошибку EBUSY.
На воид и дженту это не так. На альсе на дефолтной конфигурации без проблем выводится звук из нескольких приложений одновременно.
$ sudo apt purge pipewire
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
pulseaudio
Предлагаемые пакеты:
pavumeter paprefs
Следующие пакеты будут УДАЛЕНЫ:
gstreamer1.0-pipewire* pipewire* pipewire-pulse* wireplumber*
Следующие НОВЫЕ пакеты будут установлены:
pulseaudio
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 4 пакетов, и 72 пакетов не обновлено.
Необходимо скачать 884 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 3 596 kB.
Хотите продолжить? [Д/н]
Я лично весьма не очень отношусь к deb дистрибутивам, именно по причине таких художеств.
Тут поднимали как-то эту проблему - как удалить pulseaudio и pipewire одновременно в дебе, но я уже не помню к чему там пришли, потому что не использую deb дистрибутивы.
Можно попробовать установить pulseaudio, и настроить его так чтобы само оно не запускалось. Вроде, как-то это можно, должно гуглиться.