Ubuntu меняет вывод звука по умолчанию после приостановки

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

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

2 ответа

Решение

Исправлена ​​ошибка переключения PulseAudio с телевизора на ноутбук в режиме ожидания

Эта "недокументированная функция" появилась в 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 (устройство для большинства людей) отличается в вашей системе.

У меня та же проблема. Я попробовал ТВ-звук в /lib/systemd/system-sleep, но у меня это не сработало. Я попробовал вывод pacmd set-card-profile 0: hdmi-стерео из командной строки пользователя, и это не сработало для меня.

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

Я сделал дамп pacmd до и после открытия окна настроек и не было никакой разницы в выводе.

Как примечание: 1000 in /run/user/1000/pulse является идентификатором пользователя и должно соответствовать имени пользователя. Когда я пробовал решение, я вошел в учетную запись моей жены, которая имеет идентификатор пользователя 1001.

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