¿Hay alguna forma de guardar la configuración de alsamixer que no sea alsactl store?

9

El problema raíz: por alguna razón, en el arranque, Ubuntu 14.04 desactiva (silencia) la salida S / PDIF en mi tarjeta de sonido.

Esta pregunta y sus respuestas indican que sudo alsactl storealmacenará la configuración de alsamixer una vez que haya silenciado la salida S / PDIF, pero en el arranque, la salida S / PDIF se silencia nuevamente.

En /var/lib/alsa/asound.state( pastebin ) hay una entrada PDIF, que configuré en "verdadero" y guardé; esto ha resultado en la resolución del silenciamiento automático para mi "Phantom Jack", pero no hay otra entrada para el "verdadero" S / PDIF en un estado seguro que pueda ajustar manualmente.

También hay un /var/lib/alsa/asound.state.lockarchivo vacío (11 bytes, en blanco en gedit) en el /alsa/directorio. ¿Es algo con lo que debería estar lidiando?

JeanSibelius
fuente

Respuestas:

9

Tengo el mismo problema en mi PC:
parece que efectivamente también restaura el estado SPDIF "no silenciado" durante el arranque, pero luego pulseaudio lo silencia cuando comienza la sesión del usuario.
Para verificar que la restauración de alsa esté bien, simplemente ejecute sudo alsactl restoreen una terminal y mire si activa el SPDIF.
Para verificar que pulseaudio es el problema, simplemente ejecute pulseaudio -kpara reiniciar pulseaudio: debería ver que SPDIF está silenciado.

Como no sé cómo configurar pulseaudio para no silenciar, esta es una solución inspirada a partir de ahí :

  • Pruebe si este comando activa el canal SPDIF:
    amixer set IEC958 unmute
  • En caso afirmativo, cree un archivo oculto .unmute:
    gedit .unmute
    pegue 4 líneas en él:

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

guardar y cerrar.
Ahora, edite el .profilearchivo:
gedit .profile
agregue esta línea al final:

bash .unmute &

guardar y cerrar.

Ahora pruebe la sesión de reapertura o reinicio.

Nota : en el enlace anterior de Mageia, usan /etc/rc.local para ejecutarse alsactl restoreen el momento del arranque, también está bien. Pero usando .profiley amixer, no es necesario "sudo" y se activará en cada inicio de sesión para iniciar sesión.

laugeo
fuente
1

Adapté @ respuesta de laugeo para solucionar el problema con mis auriculares.

El problema era que los auriculares estaban configurados para activar el silencio pero estaba en el volumen 00.

Quería que fuera 100, así que agregué esto: /usr/bin/amixer -c 0 set Headphone playback 100% unmute

Y el .unmuteguión se ve así:

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

Si desea activar el silencio y establecer el volumen al 100%, simplemente cambie el canal. Por ejemplo para el canal maestro:

#!/bin/bash
sleep 10 
/usr/bin/amixer -c 0 set Master playback 100% unmute
exit
Germán Acosta
fuente
0

Cuando ejecuto sudo alsactl storeme da el siguiente error

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

Necesitaba activar el canal maestro usando

amixer set Master 100 unmute

y funcionó perfectamente para la tarjeta de sonido actualmente seleccionada. Pero el canal maestro siempre se silenciaba nuevamente después del arranque, así que creé un script llamado unmute.shy configurado chmod 700para que otros usuarios no pudieran ejecutarlo. Llené el script con el siguiente contenido:

#!/bin/bash
amixer set Master 100 unmute

y lo guardé en el ~/.kde/Autostartdirectorio. Si tiene Kubuntu u otra distribución con KDE, todos los scripts en ese directorio se ejecutarán automáticamente en el arranque.

Si no tiene KDE, puede intentar agregar el amixercomando al ~/.profilearchivo.

usuario2513149
fuente