Як зберегти налаштування AlsaMixer?


76

Здравствуйте, я спробував програму "EarCandy", зараз у мене було / у мене дуже багато проблем. Спочатку я не отримав жодного звуку, а зараз це дуже низька гучність. PS Earcandy тепер видалено з мого жорсткого диска.

Коли я відкриваю Alsamixer за допомогою:

alsamixer

Я бачу, що гучність для гучномовців дорівнює нулю. Тепер я натискаю на максимальну гучність. Але після кожного перезапуску мені доведеться знову відкривати alsamixer і знову потрібно встановити гучність. Чи можна зберегти налаштування для alsamixer чи є інший спосіб виправити проблему? введіть тут опис зображення

Відповіді:


74

Виконати:

sudo alsactl store

Це повинно зберегти конфігурації alsamixer, до /etc/asound.stateяких завантажується кожен запуск.


14
Мій ноутбук продовжує скидати мою конфігурацію навіть після виконання вищевказаної команди. Він стверджує, що зберігає його /var/lib/alsa/asound.state. Чи є якась інша причина, що вона не працює?
— Азмісов

1
У мене точно така ж проблема і точно така ж поведінка, коли я пробую магазин sudo alsactl.
— ЖанСібеліус

1
@Azmisov: Ви можете далі експеримент з системою , як наступне: (1) зберегти конфігурацію (2) запуск alsamixerі майстер зміни рівня (2) відновити конфігурацію (3) перевірити , що майстер - рівень був відновлений. Якщо вище, як очікувалося, перевірте, чи відновлення насправді запускається під час завантаження системи ( chkconfig alsa-utilsмає відображатися alsa-utils on).
— dma_k

Ця відповідь вирішив мою проблему SPDIF: askubuntu.com/questions/541847 / ...
— Невес

1
Коли я запускаю, sudo alsactl storeце дає мені таку помилку alsactl: get_controls:567: snd_ctl_open error: Invalid argument.
— користувач2513149

23

Ви також можете зберегти налаштування змішувача у користувальницький файл за допомогою alsactl:

alsactl --file ~/.config/asound.state store

Перезавантаження:

alsactl --file ~/.config/asound.state restore

2
Верхня відповідь не працювала для мене, але це було! Я створив конфігураційний файл і розмістив його в /etc/asound.stateі додав рядок для перезавантаження до свого /etc/rc.local.
— Іван

Це було правильним рішенням для мене ... але мені довелося вказати абсолютний шлях до .config-файлу всередині rc.local(хоча він повинен працювати навіть відносно, тому що це той самий користувач .., але це не було). дякую, і я сподіваюся, що моя підказка також комусь допомагає
— davidhq

12

Відповідь Сеппо Ервіаля правильна, але не повна. Як вже зазначалося dma_k, man alsactlв кінці чітко зазначено,

/var/lib/alsa/asound.state (або будь-який файл, який ви вказали зі знаком -f) використовується для зберігання поточних налаштувань для ваших звукових карт.

palacsinit належним чином зазначив, що ви можете зберігати конфігурацію у свій файл

alsactl --file ~/.config/asound.state store

і перезавантажити

alsactl --file ~/.config/asound.state restore

Це можна вдосконалити, розмістивши другий рядок команди відновлення у файлі .desktop.

Вам потрібно буде запустити nano ~/.config/autostart/alsarestore.desktop, який відкриє наноредактор тексту та створить ~/.config/autostart/alsarestore.desktopфайл. Записи в ~/.config/autostart/каталозі використовуються для автоматичного запуску програм і служб для конкретного користувача при запуску / графічному вході.

Вміст файлу .desktop має бути таким:

[Desktop Entry]
Type=Application
Terminal=false
Name=alsarestore
Exec=alsactl --file ~/.config/asound.state restore

Крім усього іншого, ви можете зберігати свою конфігурацію /etc/asound.stateі посилати на неї /var/lib/alsa/asound.state, але це скоріше пропозиція, ніж тестоване рішення


Це був єдиний спосіб, коли я працював для мене на Ubuntu Xenial 16.04
— Франсиско Коста,

1
Команди "зберігати" та "відновити" добре працюють для ручного керування. Однак, коли я встановлюю файл автозапуску за допомогою команди «відновити», я бачу, що налаштування мікрофона в alsamixer переписується для відключення звуку, а результат статичний. Якщо я вручну виконую команду відновлення, все добре. Чому налаштування мікрофона змінюється, а не виправляється відповідним чином збереженим файлом конфігурації автозапуском ???
— Бред Хорн

@BradHorn можливо, у вас є щось інше, що перезаписало вашу команду. Він працює, але потім щось інше скасовує його зміни
— Сергій Колодяжний

якісь ідеї, що це може бути?
— Бред Хорн

1
@BradHorn не з моєї голови, ні. Спробуйте змінити Execрядок у .desktopфайлі Exec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore". Це введе затримку на 5 секунд, тому все, що буде перезаписано вашими налаштуваннями, запуститься спочатку, а потім ваша команда відновлення запуститься після цього. Спробуйте пограти зі sleepзначеннями, якщо це все-таки перекриває ваші налаштування.
— Сергій Колодяжний

2

Після 2-х місяців спроб змусити "магазин sudo alsactl" працювати, я нарешті зумів це зробити. Спочатку введіть термінал "alsamixer" для введення інтерфейсу alsamixer. Потім зробіть потрібні конфігурації (наприклад, підвищити рівень гучномовців / навушників або ввімкніть щось, натиснувши "m" на клавіатурі). Тепер найважливіша частина. Перш ніж вийти з alsamixer, відкрийте новий термінал і зробіть: "sudo su", щоб отримати високі привілеї (Будьте дуже обережні з командами, які використовуєте в режимі "sudo su", тому що ви можете знищити вашу систему), а потім зробіть "alsactl store" для збереження налаштування alsa. Потім закрийте обидва термінали та перезавантажте комп'ютер. Це зробить роботу.


Це не працює для мене.
— kleinfreund

Працює для мене, не особливо як тут, а з sudo su.
— Дмитрій Полянін

1

На мене спрацювало рішення Сергія Колодяжного. Хоча мені довелося додати модифікацію Exec=bash -c "sleep 5 .... Дійсно це відбувається тому, що PulseAudio модифікує ALSA.
Іншим рішенням є відключення PulseAudio під час завантаження (див. Тут ):

sudo cp /etc/pulse/client.conf /etc/pulse/client.confbackup
sudo nano /etc/pulse/client.conf

Знайдіть ; autospawn = yes, видаліть ;і змініть його на:

autospawn = no

Це рішення також працювало для мене, хоча Ubuntu дав мені помилку системної програми при запуску. Оскільки я ненавиджу подібні повідомлення, я застосував перше рішення.



0

Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGateway підтримує зберігання / відновлення сеансів звукової карти з API JSON / REST

  • список сесій / jsonapi? request = session-list & cardid = hw: 0
  • зберігати сесію / jsonapi? request = session-store & cardid = hw: 0 & args = MySoundConfig
  • відновити / jsonapi? request = session-load & cardid = hw: 0 & args = MySoundConfig

0

Для тих, кому відповідь Сергія Колодяжного не спрацювала, спробуйте замінити alsactlїї повним шляхом (незалежно від того, що вам which alsactlповернувся).

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