SUDO и звук, как заставить их работать вместе
По сути, в сеансе sudo даже один эмулирует другого пользователя без полномочий root (команда sudo -u username), звук отсутствует.
Внутри сессии sudo звук кажется отключенным.
Мне нужен звук, как мне это исправить?
6 ответов
Я решил эту проблему раньше, запустив pulseaudio в "системном режиме", где он доступен для всех пользователей, а не только для пользователя, работающего на рабочем столе. Вы можете прочитать больше об этом здесь:
http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide
Обратите внимание, что есть несколько веских причин не делать этого:
http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/WhatIsWrongWithSystemWide
К сожалению, я не знаю другого способа решения проблемы в системе, работающей с pulseaudio.
Добавьте пользователя в группу "аудио".
adduser username audio
Если вы используете "sux" вместо "sudo", все должно работать.
Пытаться:
sudo usermod -G audio -a username
Тогда делай sudo login username и проверьте, есть ли звук в списке при запуске groups, Это должно делать свое дело.
Скопируйте файл ~/.config/pulse/cookie от пользователя, запускающего демон pulseaudio, в то же место для пользователя, к которому вы обращаетесь.
Я обошел эту проблему, включив "сетевой сервер" в настройках pulseaudio.
Чтобы получить диспетчер предпочтений pulseaudio, откройте терминал и введите
sudo apt-get install paprefs
Затем запустите его как ваш обычный логин (т.е. НЕ запускайте его, используя sudo -u) набрав
paprefs
На вкладке "Сетевой сервер" нажмите "Включить сетевой доступ к локальным звуковым устройствам", оставив все остальные настройки без изменений.
Закройте окно настроек PulseAudio, и все готово. Вам нужно сделать это только один раз.
Насколько я понимаю, этот метод позволяет избежать некоторых проблем с безопасностью запуска pulseaudio в "системном режиме", но, например, программ, которые вы запускаете, используя sudo -u все равно поделится вашим уровнем громкости.
Поскольку мы не отметили "Разрешить другим машинам в локальной сети обнаруживать локальные звуковые устройства" или "Не требовать аутентификации", ваше звуковое устройство фактически недоступно для других компьютеров в сети. Этот параметр позволяет вашему компьютеру подключаться к самому себе, вам вообще не нужно подключаться к сети.
ПРИМЕЧАНИЕ. Если вы используете прозрачный прокси-сервер (если вы не знаете, вероятно, нет), вы должны убедиться, что петлевые TCP-соединения не перенаправляются на уровне NAT. Чтобы добавить исключение непосредственно в тип iptables
sudo iptables -t nat -I OUTPUT -p tcp -o lo -j RETURN
замещать OUTPUT с PREROUTING если ваш прокси перенаправляется в цепочку предварительной маршрутизации.
