Как исправить проблему с отсутствием звука в Ubuntu

Звук Ubuntu Alsavolume

Проблема, с которой часто сталкиваются пользователи Ubuntu после установки или обновления до новой версии, — это проблема со звуком, или, более конкретно, проблема “отсутствия звука”. Это может происходить по различным причинам. Иногда это связано с неправильной настройкой в параметрах динамиков, или, возможно, ваше оборудование не поддерживается должным образом.

Для большинства людей это обычно довольно простая проблема для решения. Это связано с тем, что большинство проблем возникает из-за проблем с сервисами, работающими в системе. В этой статье мы рассмотрим несколько простых решений, которые вы можете попробовать. Вам не обязательно пробовать их все. Просто начните с верхней части списка и двигайтесь вниз.

Содержание

  • Установите управление громкостью для PulseAudio
  • Проверьте настройки динамиков
  • Проверьте микшер ALSA
  • Перезагрузите ALSA
  • Переустановите ALSA и PulseAudio
  • Расширенное устранение неполадок
  • Часто задаваемые вопросы

Также читайте: Как легко переименовывать файлы в Linux

Установите управление громкостью для PulseAudio

PulseAudio — это стандартный звуковой сервис для Ubuntu, а также для нескольких других систем. Он с открытым исходным кодом и, как правило, надежен, работает с драйверами ALSA и OSS, чтобы убедиться, что звуковые сигналы, которые ваша система генерирует, передаются на ваши динамики.

Звук Ubuntu не работает Pavucontrol

Но хотя приложения и рабочие окружения поставляются со своими собственными контроллерами громкости для PulseAudio, они не так детализированы и не позволяют вам контролировать каждый поток воспроизведения индивидуально. Pavucontrol дает вам больше контроля над каждым аудиоустройством на вашем ПК, так что вы можете поиграть с этими ползунками, чтобы убедиться, что громкость ваших динамиков или наушников установлена на нужный уровень, например.

Чтобы установить pavucontrol, откройте терминал и введите следующие команды:

pulseaudio --start  
sudo apt install pavucontrol

После этого запустите pavucontrol либо из терминала, либо найдя “PulseAudio Volume Control” в меню запуска вашего рабочего окружения. Перейдите на вкладку “Выходные устройства” и убедитесь, что ваши динамики по умолчанию выбраны.

Проверьте настройки динамиков

При возникновении проблем со звуком на вашем компьютере с Ubuntu, вам сначала нужно проверить ваши наушники и динамики на наличие проблем с подключением. Возможно, аудиокабель подключен к неправильному порту или вообще не подключен.

Если вы используете Bluetooth-устройство, проверьте, правильно ли оно спарено. Не забудьте взглянуть на регуляторы громкости ваших устройств, чтобы убедиться, что они на приемлемом уровне. Вам также следует проверить, что выходная громкость не отключена на вашем компьютере и что выбрано правильное выходное устройство.

ubuntu-sound-issue-1

Также читайте: Как использовать утилиты ALSA для управления звуком в Linux из терминала

Проверьте микшер ALSA

Под капотом PulseAudio использует ALSA, модуль ядра, который напрямую управляет вашими звуковыми устройствами. Если вам нужен более детализированный контроль над уровнем громкости на уровне ALSA, выполните следующие шаги:

  1. Откройте терминал.
  2. Введите alsamixer и нажмите клавишу Enter. Вы увидите следующий вывод в вашем терминале.

ubuntu-sound-issue-2

  1. Выберите вашу правильную звуковую карту, нажав F6. Для меня настройки по умолчанию работают отлично, но не стесняйтесь пробовать другие варианты, если это не сработает.
  2. Используйте клавиши влево и вправо, чтобы выбрать регулятор громкости. В данный момент выбранный элемент отображается красным внизу.
  3. Используйте клавиши вверх и вниз, чтобы увеличить и уменьшить уровни громкости для каждого регулятора.
  4. Когда регулятор микшера отключен, под полосой громкости появляется “MM”. Обратите внимание, что полоса может быть заполнена на 100%, но все равно быть отключенной, поэтому проверьте это. Вы можете включить звук для регулятора, нажав клавишу m. Это изменит “MM” на “OO.”
  5. Чтобы выйти из alsamixer, нажмите клавишу Esc.

Примечание: когда вы отключаете или включаете звук для регулятора, pulseaudio может это зарегистрировать и отключить и включить звук для других регуляторов. Убедитесь, что соответствующие регуляторы, а также главный регулятор включены перед выходом.

Перезагрузите ALSA

Еще одно, что вы можете попробовать, если проблема со звуком сохраняется, — это перезагрузить ALSA. Для этого используйте следующую команду в терминале:

sudo alsa force-reload

Вывод выглядит как на следующем изображении.

ubuntu-sound-issue-3

После этого, если у вас все еще возникают проблемы с получением звука, попробуйте

pulseaudio -k&& pulseaudio -D

У вас могут возникнуть проблемы после перезагрузки ALSA, если pulseaudio не зарегистрирует, что модули были перезагружены.

Если вы все еще не получаете звук, попробуйте эту однократную команду ALSA напрямую:

alsactl restore

Также читайте: Сабвуфер не работает в Linux? Попробуйте эти трюки!

Переустановите ALSA и PulseAudio

Если вышеуказанные методы не исправили вашу проблему, попробуйте переустановить ALSA и PulseAudio следующим образом. Откройте ваш терминал и введите следующие команды:

sudo apt remove --purge alsa-base pulseaudio  
sudo apt install alsa-base pulseaudio

Снова перезагрузите ALSA и перезагрузите ваш компьютер.

Также читайте: Как скрыть верхнюю панель и боковую панель в Ubuntu

Расширенное устранение неполадок

Чтобы правильно устранить неполадки со звуком после того, как все остальное не сработало, нам нужно немного углубиться и перейти к более сложному устранению неполадок:

Ваш выход может вызывать ALSA, но не PulseAudio

В конечном итоге, если PulseAudio отключает выход, не имеет значения, что говорит ALSA. Звук, выходящий на ваши устройства, будет обрабатываться через ALSA, но не будет предоставлен им через PulseAudio.

Чтобы обойти это, нам нужно заставить ALSA взаимодействовать с PulseAudio, когда мастер-громкость изменяется, чтобы гарантировать, что последний будет следовать за ним.

amixer -D pulse sset Master toggle

Устройства, громкость которых может взаимодействовать только с ALSA по какой-то странной причине, также будут взаимодействовать с PulseAudio.

Вы уверены, что это не просто одно приложение?

Неправильно работающее приложение может вызвать больше проблем, чем вы думаете, способами, которые вас удивят. Это может быть даже приложение, которое вы не открывали!

Чтобы посмотреть на все, использующее ваш аудиоконтроль, введите:

pacmd list-sink-inputs

Если вы хотите быть более точным, введите:

pacmd list-sink-inputs |grep application.name

В моем случае, как на изображении, Firefox — это единственное, что я слушаю. Если вы использовали grep, чтобы сузить вывод в терминале, используйте оригинальную команду снова и обратите внимание на значения “muted:”, “index:” и “volume:”.

Возможно, у вас была громкость в приложении, и она могла быть все еще отключена или на нулевой громкости!

Чтобы исправить отключенное приложение, введите (замените application_index на номер индекса, который вы нашли в “index:”):

pacmd set-sink-input-mute application_index false

Чтобы исправить приложения с необычно низкой громкостью, введите:

pacmd set-sink-input-volume application_index 0x10000

Нет звука при возобновлении после приостановки/сна

Иногда PulseAudio просто не в настроении просыпаться вместе с остальной частью вашего компьютера. В этом случае выполнение

pasuspender /bin/true

возвращает ваш звук к жизни, но не слишком радуйтесь. Это не переживет следующую перезагрузку или приостановку/сон. Тщательно следуйте этому мини-руководству, чтобы решить проблему навсегда:

  1. В терминале введите
sudotouch/etc/systemd/system/[email protected]

чтобы создать файл менеджера системных служб systemd.

  1. Откройте файл для редактирования:
sudonano/etc/systemd/system/pulseaudio-sleep-fix.service

Вставьте (Ctrl + Shift + V для вставки в терминале) это в него:

[Unit]  
Description=Fix PulseAudio after resume from suspend  
After=suspend.target  
  
[Service]  
User=%I  
Type=oneshot  
Environment="XDG_RUNTIME_DIR=/run/user/%U"  
ExecStart=/usr/bin/pasuspender /bin/true  
  
[Install]  
WantedBy=suspend.target
  1. Нажмите Ctrl + X, чтобы выйти, и Y в запросе, спрашивающем, хотите ли вы сохранить измененный буфер.
  2. Введите следующее, чтобы зарегистрировать это как службу systemd.
sudo systemctl enable pulseaudio-sleep-fix@your_username.service

Не забудьте заменить your_username на соответствующее значение.

Вы запускаете Timidity?

Если вы запускаете пакет timidity в Ubuntu (проверьте, выполнив apt search timidity и проверив наличие [installed] в конце соответствующей записи), у вас могут возникнуть проблемы с запуском PulseAudio с ним из-за странного способа обработки звука.

Чтобы timidity работал правильно, сначала добавьте его в автозагрузку (иногда это называется “Программы при запуске” в рабочих окружениях, таких как GNOME) и измените команду, которая запускает приложение, на:

timidity -iA-Os

Чтобы продвинуться немного дальше, введите следующее, чтобы добавить root в группу pulse-access

sudo usermod -a-G pulse-access root

После перезагрузки ваш звук должен работать нормально. Если он все еще не работает, единственное другое решение, которое у вас есть, — это удалить timidity из Ubuntu.

Теперь у вас будет служба, которая предназначена для запуска только тогда, когда вы возобновляете работу после приостановки, немедленно отключаясь, как только она выполнит свою работу, чтобы избежать добавления лишнего.

Часто задаваемые вопросы

1. Могу ли я удалить ALSA и оставить PulseAudio?

Будьте очень осторожны здесь! PulseAudio нуждается в аудиомодуле на уровне ядра для работы. Если вы планируете заменить ALSA чем-то другим, что работает в ядре (например, Open Sound System), то, конечно, можете это сделать. Процесс немного сложнее, чем замена модуля ядра Realtek для сетевого подключения, так что будьте готовы к тому, что вам может потребоваться много времени, чтобы разобраться с проблемами.

2. Есть ли у PulseAudio альтернативы?

Да! Самая популярная (и наиболее жизнеспособная, если вы планируете использовать рабочий стол) альтернатива PulseAudio — это PipeWire. Он содержит лучше интегрированную поддержку Bluetooth-устройств и улучшает странный способ обработки выборки и постобработки PulseAudio. Многие дистрибутивы теперь делают его доступным в официальных репозиториях, и его стабильность значительно улучшилась в последние годы.

Если вы хотите более профессиональную настройку звука, вы можете рассмотреть возможность использования чего-то вроде JACK.

3. Могу ли я запускать PulseAudio вместе с другими сервисами?

Хотя некоторые сервисы имеют библиотеки и параметры настройки для работы PulseAudio с ними, настоятельно рекомендуется придерживаться одного сервиса на вашей системе за раз. Большинство сервисов просто будут конкурировать с PulseAudio за приложения вашей системы, и это может вызвать непредсказуемое поведение. Другие просто не будут работать вообще без полного удаления PulseAudio. (PipeWire использует сервис pipewire-pulse, который заменяет pulseaudio.)

Надеемся, советы, которые мы предоставили здесь, снова запустили звук в Ubuntu, чтобы вы могли снова наслаждаться своей операционной системой. Вы пробовали превратить веб-сайт в приложение в Linux и транслировать экран вашего Android телефона на Linux?