Добавьте всех пользователей, которые должны иметь возможность воспроизведения, в импульсный -доступ группу
# adduser problemofficer pulse-access
Создайте /etc/systemd/system/pulseaudio.service со следующим содержимым:
[Service]
Type=simple
PIDFile=/var/run/pulse/pid
ExecStart=/usr/bin/pulseaudio --daemonize=yes --system=yes --disallow-module-loading=yes --disallow-exit=yes
[Install]
WantedBy=multi-user.target
Включите эту новую службу systemd, чтобы она запускалась при загрузке:# systemctl enable pulseaudio
Имейте в виду, что эта конфигурация
Перезагрузка
Причина, по которой звук отключается, заключается в том, что Pulseaudio запускается при каждом входе в систему с правами этого пользователя, а система¹ не позволяет другим пользователям прослушивать аудио других пользователей.
Чтобы решить эту проблему, Pulseaudio необходимо запустить с привилегиями root, чтобы он работал как общесистемный демон, доступный только для всех пользователей. Все будут подключаться к этому экземпляру и смогут воспроизводить и слушать все, что воспроизводят или записывают другие пользователи.
Pulseaudio на самом деле не будет работать от имени пользователя root все время, а эти привилегии и предполагают пользователя pulse .
Изman pulseaudio
User pulse, group pulse: if PulseAudio is running as a system daemon (see --system above) and is started as root the daemon will drop privileges and become a normal user process using this user and group. If PulseAudio is running as a user daemon this user and group has no meaning.
Обратите внимание, что «пользовательский демон» — это не то же самое, что «системный демон». Первый — это то, как Pulseaudio работал раньше, второй — как он будет работать, если будут применены изменения.
Чтобы иметь возможность подключиться к системной службе Pulseaudio, вы должны быть членом группы доступа pulse -.
Снова изman pulseaudio
Group pulse-access: if PulseAudio is running as a system daemon (see --system above) access is granted to members of this group when they connect via AF_UNIX sockets. If PulseAudio is running as a user daemon this group has no meaning.
В качестве быстрого обходного пути можно было бы просто убить все экземпляры «пользовательского демона» Pulseaudio, а затем запустить /usr/bin/pulseaudio --system=yes
. Это запустит Pulseaudio без превращения в демона и более небезопасным способом, но может быть полезно для быстрого доказательства -проверки концепции -.
Чтобы сделать это постоянным и чтобы демон Pulseaudio запускался автоматически при запуске, его необходимо добавить в качестве службы systemd. Для этого предназначен файл /etc/systemd/system/pulseaudio.service .
Pulseaudio не запустит пользовательский демон², если он уже нашел системный демон, поэтому это решение работает.
Официальная документация Pulseaudio не рекомендует использовать Pulseaudio в качестве системного демона . Некоторые из упомянутых проблем:
...one especially problematic thing from security point of view is module loading. Anyone who has access can load and unload modules. Module loading can be disabled, but then bluetooth and alsa hotplug functionality doesn't work...
(Это означает, что при подключении -наушников звук не переключается автоматически с динамиков на наушники. Обратное также верно, когда вы снимаете наушники. Оба должны быть сделаны вручную.)
...much higher memory usage and CPU load in system mode...
(Лично я изменений в нагрузке не заметил.)
...all users that have access to the server can sniff into each others audio streams, listen to their mikes, and so on...
...you also lose a lot of further functionality, like the bridging to jack...
И, возможно, другие вещи, которых я не понимаю и поэтому не считаю заслуживающими включения сюда.
Примечание к ответу карпи:Ни один из шагов, описанных в его ответе, не был необходим для этого решения.
man pulseaudio
¹ Если кто-то может объяснить это подробно, я был бы очень благодарен.
² Успение [требуется ссылка]
Я только что установил Debian 10 в VirtualBox с настройками по умолчанию, и все работает как положено.
Cinnamon полностью поддерживается Debian с момента его включения. Вы можете попробовать установить Cinnamon, используяtasksel
:https://linuxhint.com/install_cinnamon_debian_10/