¿Cómo guardar la configuración de AlsaMixer?

77

Hola, he probado el programa "EarCandy", ahora tuve / tengo muchos problemas. Al principio no recibí ningún sonido y ahora es un volumen muy bajo. PS Earcandy ahora se elimina de mi disco duro.

Cuando estoy abriendo el Alsamixer con:

alsamixer

Veo que el volumen de los altavoces es cero. Ahora lo empujo al volumen máximo. Pero después de cada reinicio, tengo que abrir alsamixer nuevamente y configurar el volumen al máximo nuevamente. ¿Puedo guardar la configuración de alsamixer o hay alguna otra forma de solucionar el problema? ingrese la descripción de la imagen aquí

jsterr
fuente

Respuestas:

75

Ejecutar:

sudo alsactl store

Esto debería guardar las configuraciones de alsamixer en las /etc/asound.stateque se carga cada inicio.

Seppo Erviälä
fuente
14
Mi computadora portátil continúa restableciendo mi configuración, incluso después de ejecutar el comando anterior. Dice que lo está almacenando /var/lib/alsa/asound.state. ¿Hay alguna otra razón para que no funcione?
Azmisov
1
Tengo exactamente el mismo problema y exactamente el mismo comportamiento cuando intento sudo alsactl store.
JeanSibelius
1
@Azmisov: puede seguir experimentando con el sistema de la siguiente manera: (1) almacenar la configuración (2) iniciar alsamixery cambiar el nivel maestro (2) restaurar la configuración (3) verificar que se haya restaurado el nivel maestro. Si lo anterior es como se esperaba, verifique que la restauración se active realmente al iniciar el sistema ( chkconfig alsa-utilsdebería aparecer alsa-utils on).
dma_k
Esta respuesta resuelve mi problema SPDIF: askubuntu.com/questions/541847/...
Neves
1
Cuando ejecuto sudo alsactl storeme da el siguiente error alsactl: get_controls:567: snd_ctl_open error: Invalid argument.
user2513149
24

También puede guardar la configuración del mezclador en un archivo personalizado con alsactl:

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

Recarga:

alsactl --file ~/.config/asound.state restore
palacsint
fuente
2
La mejor respuesta no funcionó para mí, ¡pero esto sí! Creé un archivo de configuración y lo coloqué en /etc/asound.statey agregué la línea de recarga a mi /etc/rc.local.
John
Esta fue la solución correcta para mí ... pero tuve que especificar la ruta absoluta al archivo .config dentro del rc.local(aunque debería funcionar incluso con relativo porque es el mismo usuario ... pero no lo hizo). gracias y espero que mi sugerencia también ayude a alguien
davidhq
12

La respuesta de Seppo Erviälä es correcta pero no completa. Como dma_k ya señaló, man alsactlal final establece claramente que,

/var/lib/alsa/asound.state (o cualquier archivo que especifique con el indicador -f) se utiliza para almacenar la configuración actual de sus tarjetas de sonido.

palacsinit señaló adecuadamente que puede almacenar la configuración en su archivo con

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

y recargar con

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

Esto se puede mejorar aún más colocando la segunda línea, el comando de restauración en un archivo .desktop.

Deberá ejecutar nano ~/.config/autostart/alsarestore.desktop, lo que abrirá el editor de nano texto y creará el ~/.config/autostart/alsarestore.desktoparchivo. Las entradas en el ~/.config/autostart/directorio se utilizan para iniciar automáticamente programas y servicios para usuarios específicos en el inicio / inicio de sesión gráfico.

El contenido del archivo .desktop debe ser el siguiente:

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

Entre otras cosas, puede almacenar su configuración /etc/asound.statey vincularla /var/lib/alsa/asound.state, pero esta es más una sugerencia que una solución probada

Sergiy Kolodyazhnyy
fuente
Esta fue la única forma en que trabajé para mí en Ubuntu Xenial 16.04
Francisco Costa
1
El comando "almacenar" y "restaurar" funcionan bien para el control manual. Sin embargo, cuando configuro el archivo de inicio automático con el comando "restaurar", veo que la configuración del micrófono en alsamixer se está reescribiendo para silenciar y el resultado es estático. Si hago manualmente el comando de restauración, todo está bien. ¿Por qué la configuración del micrófono está cambiando y no está siendo corregida por un archivo de configuración almacenado adecuadamente por el inicio automático?
Brad Horn
@BradHorn es posible que tengas algo más sobreescribiendo tu comando. Se ejecuta, pero luego algo más deshace sus cambios
Sergiy Kolodyazhnyy
alguna idea de lo que podría ser?
Brad Horn
1
@BradHorn no en la parte superior de mi cabeza, no. Intente cambiar la Execlínea del .desktoparchivo para que sea Exec=bash -c "sleep 5 && alsactl --file ~/.config/asound.state restore". Eso introducirá un retraso de 5 segundos, por lo que lo que sea que se sobrescriba, su configuración se ejecutará primero, y luego su comando de restauración se ejecutará después de eso. Intente jugar con los sleepvalores si eso todavía anula su configuración.
Sergiy Kolodyazhnyy
2

Después de 2 meses de tratar de hacer que "sudo alsactl store" funcione, finalmente logré hacerlo. Primero escriba el terminal "alsamixer" para ingresar a la IU de alsamixer. Luego realice las configuraciones que necesita (por ejemplo, aumente el nivel de los altavoces / auriculares o active el silencio de algo presionando "m" en el teclado). Ahora la parte más importante. Antes de salir de alsamixer, abra una nueva terminal y haga: "sudo su" para obtener altos privilegios (Tenga mucho cuidado con los comandos que usa en el modo "sudo su" porque puede destruir su sistema) y luego haga "alsactl store" para guardar Alsa configuraciones. Luego cierre ambas terminales y reinicie su computadora. Esto hará el trabajo.

tisfo
fuente
Esto no funciona para mi.
kleinfreund
Funciona para mí, no exactamente cómo aquí, sino con sudo su.
Дмитрий Полянин
1

La solución de Sergiy Kolodyazhnyy funcionó para mí. Aunque tuve que agregar la modificación de Exec=bash -c "sleep 5 .... De hecho, esto sucede porque PulseAudio está modificando ALSA.
Otra solución es deshabilitar PulseAudio durante el arranque (ver aquí ):

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

Busque ; autospawn = yes, elimine ;y cámbielo a:

autospawn = no

Esta solución también funcionó para mí, aunque Ubuntu me dio un error del programa del sistema al inicio. Como odio este tipo de mensajes, utilicé la primera solución.

saco
fuente
0

Alsa-Json-Gateway https://github.com/fulup-bzh/AlsaJsonGateway admite almacenar / restaurar sesiones de tarjeta de sonido desde JSON / REST API

  • lista de sesiones / jsonapi? request = session-list & cardid = hw: 0
  • store session / jsonapi? request = session-store & cardid = hw: 0 & args = MySoundConfig
  • restore / jsonapi? request = session-load & cardid = hw: 0 & args = MySoundConfig
fulup
fuente
0

Para aquellos a quienes la respuesta de @Sergiy Kolodyazhnyy no funcionó, intente reemplazarlos alsactlpor su ruta completa (lo que sea que le hayan which alsactldevuelto).

dev93
fuente