Как сохранить настройки AlsaMixer?

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

Когда я открываю Alsamixer с:

alsamixer

Я вижу, что громкость динамиков равна нулю. Теперь я нажимаю на максимальную громкость. Но после каждого перезапуска я должен снова открыть alsamixer и снова установить громкость на максимум. Могу ли я сохранить настройки для alsamixer или есть другой способ решить проблему?введите описание здесь

12 ответов

Выполнение:

sudo alsactl store

Это должно сохранить настройки alsamixer в /etc/asound.state который загружается при каждом запуске.

Вы также можете сохранить настройки микшера в специальный файл с помощью alsactl:

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

Перезарядка:

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

Ответ Сеппо Эрвиаля правильный, но не полный. Как уже заметил 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, но это скорее предложение, чем проверенное решение

После 2 месяцев попыток заставить "sudo alsactl store" работать, мне наконец удалось это сделать. Сначала введите в терминале "alsamixer", чтобы войти в пользовательский интерфейс alsamixer. Затем выполните необходимые настройки (например, увеличьте уровень громкости динамиков / наушников или включите звук, нажав "m" на клавиатуре). Теперь самая важная часть. Перед выходом из alsamixer откройте новый терминал и выполните: "sudo su", чтобы получить высокие привилегии (будьте очень осторожны с командами, которые вы используете в режиме "sudo su", потому что вы можете уничтожить вашу систему), а затем выполните "alsactl store" для сохранения настройки alsa. Затем закройте оба терминала и перезагрузите компьютер. Это сделает работу.

Откройте alsamixer с помощью sudo привилегия:

sudo alsamixer

Затем отрегулируйте громкость и выйдите.

sudo alsactl store

Решение Сергея Колодяжного сработало для меня. Хотя мне пришлось добавить модификацию 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 выдавала мне ошибку системной программы при запуске. Поскольку я ненавижу подобные сообщения, я использовал первое решение.

В ALSA есть механизм сохранения и восстановления настроек:

       # alsactl store
# alsactl restore

Он будет использовать файл по умолчанию (обычно /var/lib/alsa/asound.state) для сохранения настроек и их восстановления из. Операция восстановления обычно выполняется автоматически при загрузке системы, обычно из службы systemd.

Однако может случиться так, что PulseAudio (аудиосервер, который часто используется по умолчанию в "последних" дистрибутивах) самостоятельно переопределит настройки ALSA, иногда что-то портит. Возможно, не так-то просто научить PulseAudio вести себя так, как вам хотелось бы, поэтому можно использовать обходной путь такого рода:

Вы можете запустить следующий скрипт (~/alsarestore.sh) от пользователя root crontab.

       #!/bin/sh
restore_alsa() {
    while [ -z "$(pidof pulseaudio)" ]; do
        sleep 1
    done
    alsactl restore 
}
restore_alsa &

Он будет ждать запуска PulseAudio перед вызовом alsactl restore (учитывая, что сохраненная конфигурация - это та, которую вы хотите).

Наконец, как root, вы можете добавить это в crontab -e:

       @reboot ~/alsarestore.sh 2>/dev/null

Этот обходной путь вдохновлен этой вики-статьей ArchLinux.

Я дам вам знать после перезагрузки, поможет ли добавление следующего элемента в сеанс запуска.

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

Я до сих пор не могу понять, что происходит после запуска: слишком много активируется для моего «alsamixer» или слишком мало для «alsamixer». Я не знаю, когда это слишком много или слишком мало.:S Каждый LTS, я надеюсь на что-то лучше, чем Pulseaudio.

Для тех, у кого ответ @Sergiy Kolodyazhnyy не сработал, попробуйте заменить alsactl по его полному пути (независимо от which alsactl вернулся к вам).

После запуска sudo alsamixer миксер должен сохранить сделанные вами изменения.

См. Звук не работает, как только мой профиль загружает, ответы на которые вы также можете найти подсказку.

Удачи!

Альза сбрасывает громкость микрофона, наушников и динамика моей системы. Итак, я выполнил следующие команды, чтобы сохранить и восстановить настройки alsa.

  1. Следующие команды восстанавливают состояние по умолчанию

    sudo alsactl восстановить

  2. Затем выполните следующую команду и отрегулируйте громкость в соответствии с вашими потребностями.

    sudo alsamixer

Убедитесь, что вы выбрали правильную звуковую карту, для которой хотите изменить настройку.

  1. После настройки уровня звука выйдите из alsamixer и сохраните настройку, используя следующую команду

    sudo alsactl store

Чтобы убедиться, что настройка сохранена, вы можете проверить файл asound.state, который хранится в местоположении /var/lib/alsa/asound.state (используйте команду locate, если вы хотите узнать местоположение файла в вашей системе)

  1. Чтобы восстановить настройку после перезагрузки системы, используйте следующую команду

    sudo alsactl восстановить

Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGateway поддерживает сохранение / восстановление сеансов звуковых карт из JSON/REST API

  • список сессий /jsonapi? запрос = сессия-список &cardid=hw:0
  • сохранить сессию /jsonapi?request= сессия-хранилище &cardid=hw:0 & args = MySoundConfig
  • restore /jsonapi?request= session-load &cardid=hw:0 & args = MySoundConfig
Другие вопросы по тегам