Выполнение sudo
- плохая идея, потому что вы не знаете, что произойдет и действительно ли это необходимо:
Будет ли показан запрос пароля? Если да, то кто будет вводить пароль? Помните: ваш сценарий может быть запущен в оболочке человеком, но также может быть запущен в фоновом режиме, при запуске, с помощью cron или в других ситуациях, когда терминал недоступен.
Наберет ли пользователь свой пароль, если увидит приглашение? Лично я бы немедленно остановил скрипты, запрашивающие пароль. Кроме того, я могу даже не заметить подсказку, если ваш скрипт производит много вывода.
Доступен ли и настроен sudo
? Может ли текущий пользователь запустить sudo
? Ответ на один из этих вопросов может быть "нет", в этом случае вы должны позволить пользователю самому выбрать, как предоставить вашему скрипту необходимые привилегии.
Вы уверены, что вам нужно быть суперпользователем? Возможно, я настроил свою систему так, что вашему скрипту вообще не нужны привилегии root, в этом случае sudo
совершенно не нужен и может сильно мешать.
Пожалуйста, позвольте мне решить, какие привилегии вам нужны и как их предоставить.
Запуск sudo
может быть хорошей идеей, если вы являетесь root и хотите сбросить свои привилегии. Например, вы можете открыть файл, который принадлежит root, а затем немедленно переключиться на nobody:nogroup
в целях безопасности. Тем не менее, проблема того, что sudo
может быть недоступен или не настроен, остается.
Я нашел в /etc/pulse/default.pa
и /etc/pulse/system.pa
строчку:
load-module module-suspend-on-idle
После их комментирования проблема решена.
Ответ выше может быть решением для всех, но я также хотел упомянуть, что устранило мое жужжание, когда звук не воспроизводился или при простое через несколько секунд. Убедитесь, что ваше устройство вывода правильное! Ха-ха, у меня есть внешняя звуковая карта, которую система по какой-то причине использовала по умолчанию и создала ту же проблему. Необходимо изменить на линейный выход.