Ubuntu 16.04 меняет звуковое устройство после приостановки, как исправить?


17

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

Это не большая проблема, как вы можете себе представить, но это раздражает, интересно, есть ли сценарий, который я мог бы использовать, чтобы заставить его повторно выбрать HDMI после возобновления работы или отключить встроенные динамики, или установить по умолчанию как-нибудь. К вашему сведению, оба встроенных динамика находятся на одной «звуковой карте», но представляют собой два разных устройства.

Спасибо за любую помощь!


Какая у тебя видеокарта? Вы используете какой-либо проприетарный драйвер?
Маркос Сильвейра

Ответы:


17

Если вы не хотите перезагружаться, просто перезапустите pulseaudio:

pulseaudio --kill; pulseaudio --start

1
это не работает для меня
Эллиотт

1
Это помогло уже без второй команды запуска. Мне пришлось подождать пару секунд и включить звук .
попробуй поймай наконец

ЭТА ПЕРВАЯ КОМАНДА РАБОТАЕТ !!!! БУМ это вернулся!
markackerman8-gmail.com

7

У меня была такая же проблема на Ubuntu 17.10. После приостановки или даже после уменьшения яркости дисплея он всегда переключает мой аудиовыход с цифрового выхода (желательно) на HDMI, даже если на моем дисплее нет динамиков. Комментируя строку

load-module module-switch-on-port-available

Это /etc/pulse/default.paпомогло, как описано в разделе Отключить звук через HDMI навсегда .

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


1
Я знаю, что это довольно старый, но это отключило автоматическое переключение при подключении наушников в моей системе.
AmbientCyan

3

Я исправил эту проблему, установив фиксированный импульсный профиль для вывода: hdmi-стерео при возобновлении.

Чтобы получить список профилей импульсов: pacmd list-cards. Для изменения профиля импульса , например: pacmd set-card-profile 0 output:hdmi-stereo.

О запуске скрипта после приостановки: запустить скрипт при пробуждении?

О запуске pacmd от имени пользователя root: [решено] Управление pulseaudio с помощью скрипта оболочки через pacmd / Newbie Corner / Arch Linux Forums:


2

Бегать:

$ pacmd list-cards

Для отображения индекса ваших карт. Например, моя звуковая карта pci имеет индекс 2. Звуковой профиль для аналогового выхода (снова в качестве примера) называется output:analog-stereo.

Потом:

$ pacmd set-card-profile 2 output:analog-stereo

Чтобы установить это как выход (попробуйте). Чтобы сделать его постоянным, отредактируйте /etc/pulse/default.paи добавьте:

set-card-profile 2  output:analog-stereo
set-default-sink 2

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


Звук HDMI всегда был постоянным по умолчанию при перезагрузке, он меняется только на встроенные динамики после выхода из спящего режима. То, что вы говорите, не останавливает переход hdmi на встроенные динамики после пробуждения. Есть ли способ запустить команду set-card-profile, когда система выходит из спящего режима?
MattJC

2

Эта проблема может быть связана с проблемой с Pulseaudio версии 8, как описано в этой (длинной) ветке ошибок на freedesktop.org .

По сути, Pulseaudio перенаправляет звук, когда теряет связь с HDMI, и не возвращает его после повторного подключения HDMI. Это исправлено в версии 9.

Чтобы вернуть версию 8 к поведению предыдущих версий, следуйте этим инструкциям и перезагрузитесь.

отредактировать, /etc/pulse/default.paчтобы закомментировать (добавить #в начало) строку:

#load-module module-switch-on-port-available

Затем установите вывод звука в настройках звука и убедитесь, что он сохраняется, приостановив / возобновив или отключив экран. Это сработало для меня.


@PaulH. @Toilal Как вы редактировали /etc/pulse/default.paфайл? sudo geditне работает для меня.
Py-ser

Использованиеgksu gedit /etc/pulse/default.pa
rubo77

Уже было закомментировано - СНИФ! но команда .... pulseaudio --kill ..... работает хорошо!
markackerman8-gmail.com

1

То же самое происходит со мной, но только если монитор HDMI не «проснулся», когда ОС запускается или возобновляет работу: список устройств в меню «Настройки»> «Звук» даже не показывает HMDI / DisplayPort - встроенный звук .

Для меня исправление - приостановить сеанс, убедиться, что монитор HDMI включен, возобновить сеанс.

Suspend в Ubuntu 18.04 LTS несколько безумно спрятан за кнопкой PowerOff в выпадающем меню: удерживайте на нем мышь или нажмите, Altчтобы преобразовать кнопку PowerOff в Suspend. Разговор о скрытой навигации!


+1, и спасибо за описание, как найти скрытый приостановить! Некоторые (возможно, с открытым терминалом) могут предпочесть выполнить команду systemctl suspendвместо этого!
Занна

Извините, ребята, мне приходится голосовать против собственного комментария, так как он кажется совершенно случайным: появится ли HDMI Audio в списке звуковых устройств или нет :(
mr0

1

Исправление PulseAudio при отключении звука HDMI на Suspend

Эта «недокументированная особенность» появилась в Ubuntu 16.04 и новой версии PulseAudio 8.

Создайте новый файл /lib/systemd/system-sleep/tv-soundи скопируйте в:

#!/bin/sh

case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0`
    # if no pre suspend action required
    sleep 1
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` 
    # if no post suspend action required
    sleep 2
    export PULSE_RUNTIME_PATH="/run/user/1000/pulse/"
    sudo -u rick -E pacmd set-card-profile 0 output:hdmi-stereo
    ;;
esac

ПРИМЕЧАНИЕ: замените имя пользователя rick(третья строка снизу) на ваше имя пользователя.

Затем пометьте его исполняемым с помощью команды:

sudo chmod +x /lib/systemd/system-sleep/tv-sound

Может потребоваться дополнительный шаг, если output:hdmi-stereo(устройство для большинства людей) отличается в вашей системе.


извините, но это не исправило Должен ли я сделать больше, чем это? перезагрузить что-нибудь? (Я не хочу перезагружаться, потому что это все равно
решает

@ rubo77 Вы изменили идентификатор пользователя rickна свой собственный идентификатор пользователя?
WinEunuuchs2Unix

Конечно. Как вы сказали 😃
rubo77

0

У меня была эта проблема с Ubuntu 9.04. Это никогда не работало, и теперь дети, которые только что получили HDMI или только что получили Ubuntu, думают, что проблема в чем-то новом, поэтому люди, пытающиеся взглянуть на последние изменения в настройке, вводятся в заблуждение. Итак, позвольте мне прояснить это: эта проблема была всегда, и никто не работает над этим. Я потратил как минимум 20 часов на изучение этой проблемы. Итак, что я сделал в прошлом:

  1. перезагрузка
  2. При включении телевизора (цель HDMI), если я покачиваю мышкой в ​​нужное время, звук восстанавливается, возможно, в 50% случаев. Это проблема, связанная с синхронизацией / подтверждением связи.
  3. В Ubuntu 14 я бы изменил разрешение экрана на что-то другое, а потом снова. Это не похоже на работу с Ubuntu 16
  4. Не позволяйте этому впадать в спячку. Альтернативой является просто отключение по времени. Позже вы просто загружаете свой компьютер, а не перезагружаете. Помните, что это проблема ВРЕМЕНИ, поэтому я предполагаю, что любая из предложенных здесь идей может сработать, если из-за синхронизации произойдет корректная работа вашей системы.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.