Як зберегти налаштування 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.