Вопрос или проблема
Когда я возвращаюсь после приостановки (гибернации) моего ноутбука, аудиовыход для встроенных динамиков отсутствует. После изменения устройства вывода в меню настроек на ‘колонки’ выход снова появляется, когда я выполняю list short sinks
. Однако моей целью является установка по умолчанию выхода на динамики после гибернации. Как я могу вернуть отсутствующий выход после возвращения из гибернации (не меняя устройство вывода вручную через меню настроек)?
После возвращения из приостановки/гибернации:
> list short sinks
4626 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink PipeWire s24-32le 2ch 48000Hz SUSPENDED
4627 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink PipeWire s24-32le 2ch 48000Hz SUSPENDED
4628 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink PipeWire s24-32le 2ch 48000Hz SUSPENDED
**5443 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Наушники__sink PipeWire s32le 2ch 48000Hz SUSPENDED**
После изменения устройства вывода на ‘колонки’ через меню настроек:
> list short sinks
4626 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink PipeWire s24-32le 2ch 48000Hz SUSPENDED
4627 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink PipeWire s24-32le 2ch 48000Hz SUSPENDED
4628 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink PipeWire s24-32le 2ch 48000Hz SUSPENDED
**4629 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Колонки__sink PipeWire s32le 2ch 48000Hz RUNNING**
Обратите внимание, что в меню настроек доступны только Колонки и HDMI:
Редактировать звук настройки
Ответ или решение
Когда после выхода из режима гибернации на вашем ноутбуке отсутствует аудиовыход для встроенных динамиков, это может быть связано с неправильной конфигурацией аудиосистемы, использующей PipeWire. Чтобы решить эту проблему, мы рассмотрим ряд методов, которые помогут автоматически устанавливать динамики в качестве стандартного вывода звука после возвращения из режима сну или гибернации.
Проблема
После выхода из гибернации в выводе list short sinks
отображается состояние SUSPENDED для всех аудиоустройств, кроме наушников. Только после изменения устройства вывода в меню настроек у вас появляется динамик в состоянии RUNNING. Ваша цель заключается в том, чтобы автоматически возвращать динамик к активному состоянию без ручного вмешательства.
Решения
-
Проверка настроек PipeWire:
Убедитесь, что PipeWire правильно настроен на автоматическое восстановление аудиоустройств. Проверьте, нет ли конфликтов с PulseAudio, так как PipeWire может работать как совместимая замена. -
Конфигурация PipeWire:
Откройте файл конфигурации PipeWire и добавьте параметры, которые помогут восстановить динамики после перехода из состояния гибернации. Файл конфигурации обычно находится в/etc/pipewire/pipewire.conf
или~/.config/pipewire/pipewire.conf
.Добавьте следующий блок:
# Включаем автоматическое восстановление аудиоустройств context.modules = [ { name = libpipewire-module-protocol-pulse args = { # Убедитесь, что используются корректные адаптеры } } ]
-
Использование udev для автоматического выполнения команд:
Вы можете создать udev правило, которое будет выполнять команду для восстановления динамиков каждый раз, когда система выходит из режима гибернации. Создайте файл, например,/etc/udev/rules.d/99-resume-audio.rules
с содержимым:ACTION=="resume", RUN+="/usr/bin/pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink"
Убедитесь, что путь к
pactl
указан правильно. Это правило будет автоматически устанавливать динамики в качестве стандартного устройства вывода после выхода из режима сна. -
Скрипты на основе systemd:
Если вы используете systemd, можно создать сервис, который будет выполняться при выходе из режима гибернации. Создайте файлresume-audio.service
в директории/etc/systemd/system/
:[Unit] Description=Set default audio sink on resume After=suspend.target [Service] Type=oneshot ExecStart=/usr/bin/pactl set-default-sink alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink [Install] WantedBy=suspend.target
Затем активируйте сервис:
sudo systemctl daemon-reload sudo systemctl enable resume-audio.service
-
Тестирование и мониторинг:
После внесения изменений протестируйте их, переведя систему в режим гибернации и обратно. Проверьте состояние аудиосинков с помощью командыlist short sinks
и убедитесь, что динамики автоматически возвращаются в состояние RUNNING.
Заключение
Эти методы помогут вам управлять состоянием аудиоустройств на ноутбуке, избегая необходимости ручной настройки после выхода из режима гибернации. Применив данные рекомендации, вы сможете улучшить свою домашнюю или рабочую среду, оптимизировав процесс использования аудиовыходов. Тщательно следите за системными журналами на предмет ошибок, чтобы устранить возможные неполадки.