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


18

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

Це не велика проблема, як ви можете собі уявити, але це дратує, мені цікаво, чи є сценарій, який я міг би використати, щоб змусити його переобирати HDMI після відновлення або відключення вбудованих динаміків, або встановити як дефолт. FYI обидва вбудовані динаміки знаходяться на одній "звуковій картці", але є двома різними пристроями

Дякуємо за будь-яку допомогу!


Яка ваша відеокарта? Чи використовуєте ви будь-який власний драйвер?
Маркос Сільвейра

Відповіді:


18

Якщо ви не хочете перезавантажувати, просто перезапустіть 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-stereo при резюме.

Щоб отримати список профілів імпульсів: pacmd list-cards. Для зміни профілю імпульсу , наприклад: pacmd set-card-profile 0 output:hdmi-stereo.

Про запуск сценарію після призупинення: запустити сценарій у режимі пробудження?

Про запуск pacmd як корінь: [Розв’язано] Керуйте 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не працює для мене.
Пі-сер

використанняgksu gedit /etc/pulse/default.pa
rubo77

Це вже було прокоментовано - SNIF! але команда .... pulseaudio --kill ..... працює добре!
markackerman8-gmail.com

1

Те саме трапляється і для мене, але тільки якщо монітор HDMI не "прокидається", коли ОС запускається або поновлюється: у списку пристроїв у Налаштуваннях> Звук більше не відображається HMDI / DisplayPort - Вбудований аудіо .

Для мене виправлення призупинення сеансу, увімкнення монітора HDMI, відновлення сесії.

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


+1, і дякую за опис, як знайти приховане призупинення! Деякі (у кого, можливо, відкритий термінал) можуть скористатися командою systemctl suspendзамість цього!
Занна

Вибачте, люди, я маю голосувати проти власного коментаря, оскільки це здається абсолютно випадковим: відображається HDMI Audio у списку звукових пристроїв чи ні :(
mr0

1

Виправлення PulseAudio вимикання звуку HDMI на Призупинення

Ця "бездокументована функція" з'явилася з 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

@ 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.