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", все должно работать.

https://apps.ubuntu.com/cat/applications/precise/sux/

Пытаться:

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 если ваш прокси перенаправляется в цепочку предварительной маршрутизации.

Другие вопросы по тегам