Нет звука с Chromium в Ubuntu 19.10
Pulseaudio работает в режиме демона, и я могу воспроизводить звук через aplay, vlc и т. Д., Поэтому я знаю, что звук работает.
Вывод dmesg при запущенном Chrome указывает на то, что apparmor блокирует доступ к звуковому устройству:
[Mon Feb 24 16:54:34 2020] audit: type=1400 audit(1582581275.262:2277): apparmor="DENIED" operation="mkdir" profile="snap.chromium.chromium" name="/run/user/1000/" pid=16304 comm="mkdir" requested_mask="c" denied_mask="c" fsuid=1000 ouid=1000
[Mon Feb 24 16:54:42 2020] audit: type=1400 audit(1582581283.250:2278): apparmor="DENIED" operation="open" profile="snap.chromium.chromium" name="/dev/snd/controlC0" pid=16275 comm="chrome" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 16:54:42 2020] audit: type=1400 audit(1582581283.618:2279): apparmor="DENIED" operation="open" profile="snap.chromium.chromium" name="/dev/snd/controlC0" pid=16275 comm="chrome" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 16:54:42 2020] audit: type=1400 audit(1582581283.618:2280): apparmor="DENIED" operation="open" profile="snap.chromium.chromium" name="/dev/snd/controlC0" pid=16275 comm="chrome" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 16:54:42 2020] audit: type=1400 audit(1582581283.750:2281): apparmor="DENIED" operation="open" profile="snap.chromium.chromium" name="/dev/snd/controlC0" pid=16275 comm="chrome" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 16:54:42 2020] audit: type=1400 audit(1582581283.750:2282): apparmor="DENIED" operation="open" profile="snap.chromium.chromium" name="/dev/snd/controlC0" pid=16275 comm="chrome" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
[Mon Feb 24 16:58:48 2020] audit: type=1400 audit(1582581529.770:2284): apparmor="DENIED" operation="open" profile="snap.chromium.chromium" name="/dev/snd/controlC0" pid=16275 comm="chrome" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Я остановил apparmor через systemctl stop apparmor.
РЕДАКТИРОВАТЬ: #1:
19 processes are in enforce mode.
/snap/chromium/1036/usr/lib/chromium-browser/chrome (1227) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (1622) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (1633) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (1686) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (1690) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (3354) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (12295) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (12414) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (16471) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (17290) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (20617) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (22088) snap.chromium.chromium
/snap/chromium/1036/usr/lib/chromium-browser/chrome (23416) snap.chromium.chromium
Я пропустил нерелевантные процессы. Хромовая оснастка находится в принудительном режиме.
Я не верю, что проблема в pulseaudio, а в конфигурации хромированной кнопки. Очевидно, это блокирует доступ к звуковому устройству, как указано в журналах выше.
2 ответа
Я временно отключил профили apparmor через:
- Бег
apparmor_parser -R <path to profile>
- окончательное отключение профиля через символическую ссылку
<path to profile> /etc/apparmor.d/disable/<profile-to-disable>
Apparmor защищает службы Linux и имеет два режима профиля: принудительное исполнение и жалоба. В режиме жалобы система не применяет никаких правил. Он будет регистрировать только попытки нарушения
Таким образом, вы можете проверить, какой режим профиля применяется к вашему демону:
$ sudo apt-get install apparmor-utils
$ sudo apparmor_status
Вам нужно добавить своего демона pulseaudio в режим жалоб, используя
aa-complain
команда:
$ sudo aa-complain /usr/bin/pulseaudio # path to your daemon could be different
Использовать
whereis pulseaudio
команда, чтобы увидеть, где он находится в вашей системе, если путь не отображается в случае
apparmor_status
выполнение команды.