Чи є якийсь спосіб зберегти налаштування alsamixer, крім магазину alsactl?


9

Основна проблема: чомусь під час завантаження Ubuntu 14.04 відключає (приглушує) вихід S / PDIF на мою звукову карту.

Це запитання та його відповіді вказують на те, що sudo alsactl storeзберігатимуться параметри alsamixer після того, як я ввімкнув вихід S / PDIF, але під час завантаження вихід S / PDIF буде знову відключений.

У /var/lib/alsa/asound.state( pastebin ) є один запис PDIF, який я встановив "true" і зберег; Це призвело до вирішення автоматичного відключення звуку для мого "Phantom Jack", але для "справжнього" S / PDIF в asound.state немає жодної записи, яку я можу вручну налаштувати.

У /var/lib/alsa/asound.state.lockкаталозі також є порожній файл (11 байт, порожній в gedit) /alsa/. Це щось, з чим я маю мати справу?

Відповіді:


9

У мене така ж проблема і на моєму ПК:
Схоже, що ефективно alsa відновлює стан "невмінне" SPDIF під час завантаження, але потім pulseaudio відключає його під час запуску сеансу користувача.
Щоб переконатися, що відновлення alsa нормально, просто запустіть sudo alsactl restoreу терміналі і подивіться, чи не вмикається SPDIF.
Щоб переконатися, що проблема pulseaudio, просто запустіть pulseaudio -kдля повторного запуску pulseaudio: ви повинні побачити, що SPDIF вимкнено.

Так як я не знаю , як встановити PulseAudio для НЕ приглушення, це обхідний шлях натхненний там :

  • Спробуйте, якщо ця команда перемикає канал SPDIF:
    amixer set IEC958 unmute
  • Якщо так, створіть .unmute прихований файл:
    gedit .unmute
    вставте у нього 4 рядки:

    #!/bin/bash
    sleep 10 
    /usr/bin/amixer set IEC958 unmute 
    exit
    

зберегти і закрити.
Тепер відредагуйте .profileфайл:
gedit .profile
додайте цей рядок наприкінці:

bash .unmute &

зберегти і закрити.

Тепер тестуйте повторне відкриття сеансу або перезавантаження.

Примітка : у наведеному вище посиланні від Mageia вони використовують /etc/rc.local для запуску alsactl restoreпід час завантаження, це також нормально. Але використовуючи .profileта amixer, не потрібно "судо", і він буде вимикатись під час кожного запуску сеансу для вашого входу.


1

Я адаптував відповідь @ laugeo, щоб вирішити проблему зі своїми навушниками.

Проблема полягала в тому, що для навушників було встановлено вимкнення звуку, але воно було на гучності 00.

Я хотів, щоб це було 100, тому я додав це: /usr/bin/amixer -c 0 set Headphone playback 100% unmute

А .unmuteсценарій виглядає так:

#!/bin/bash
sleep 10 
/usr/bin/amixer -c 0 set Headphone playback 100% unmute
exit

Якщо ви хочете ввімкнути звук і встановити гучність на 100%, просто змініть канал. Наприклад для головного каналу:

#!/bin/bash
sleep 10 
/usr/bin/amixer -c 0 set Master playback 100% unmute
exit

0

Коли я запускаю, sudo alsactl storeце дає мені таку помилку

alsactl: get_controls:567: snd_ctl_open error: Invalid argument.

Мені потрібно було відключити головний канал за допомогою

amixer set Master 100 unmute

і вона чудово працювала для обраної на даний момент звукової карти. Але канал Master знову був відключений після завантаження, тому я створив сценарій, названий unmute.shі встановлений chmod 700так, щоб інші користувачі не могли його запустити. Я наповнив сценарій таким змістом:

#!/bin/bash
amixer set Master 100 unmute

і зберегли його в ~/.kde/Autostartкаталог. Якщо у вас є Kubuntu або інший дистрибутив з KDE, всі сценарії в цьому каталозі запускаються автоматично при завантаженні.

Якщо у вас немає KDE, ви можете спробувати додати amixerкоманду до ~/.profileфайлу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.