Existe alguma maneira de salvar as configurações do alsamixer além do armazenamento alsactl?

8

O problema da raiz: por alguma razão, na inicialização, o Ubuntu 14.04 desativa (silencia) a saída S / PDIF da minha placa de som.

Esta pergunta e suas respostas indicam que sudo alsactl store armazenará as configurações do alsamixer assim que eu Não mudo a saída S / PDIF, mas na inicialização, a saída S / PDIF é silenciada novamente.

Em /var/lib/alsa/asound.state ( pastebin ), há uma entrada PDIF definida como "true" e salva; isso resultou na solução automática de mudo para meu "Phantom Jack", mas não há outra entrada para o "verdadeiro" S / PDIF em asound.state que eu possa ajustar manualmente.

Há também um arquivo /var/lib/alsa/asound.state.lock vazio (11 bytes, em branco no gedit) no diretório /alsa/ . Isso é algo que eu deveria estar lidando?

    
por JeanSibelius 26.10.2014 / 13:10

3 respostas

7

Eu tenho o mesmo problema no meu pc:
 Parece que efetivamente alsa restaura SPDIF "unmuted" estado durante a inicialização, mas, em seguida, pulseaudio mudo quando a sessão do usuário é iniciado.
Para verificar se a restauração alsa está correta, basta executar sudo alsactl restore em um terminal e verificar se ele desativa o SPDIF.
Para verificar se pulseaudio é o problema, basta executar pulseaudio -k para relançar o pulseaudio: você deve ver que o SPDIF está mudo.

Como não sei como configurar o pulseaudio para não silenciar, esta é uma solução alternativa inspirada em lá :

  • Tente se esse comando ativar o canal SPDIF:
    amixer set IEC958 unmute
  • Se sim, crie um arquivo oculto .unmute:
    gedit .unmute
    cole 4 linhas nele:

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

salve e feche.
Agora, edite o arquivo .profile :
gedit .profile
adicione esta linha no final:

bash .unmute &

salve e feche.

Agora teste a sessão de reabertura ou reinicialize.

Nota : no link acima da Mageia, eles usam /etc/rc.local para executar alsactl restore no momento da inicialização, também está ok. Mas usando .profile e amixer, não há necessidade de "sudo" e ele será ativado em todas as sessões iniciadas para o seu login.

    
por laugeo 15.11.2014 / 14:04
1

Eu adaptei a resposta do @ laugeo para corrigir o problema com meus fones de ouvido.

O problema era que o fone de ouvido estava configurado para ativar o som, mas estava no volume 00.

Eu queria que fosse 100, então adicionei isso: /usr/bin/amixer -c 0 set Headphone playback 100% unmute

E o script .unmute parece:

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

Se você deseja ativar o som e definir o volume para 100%, basta alterar o canal. Por exemplo, para o canal principal:

#!/bin/bash
sleep 10 
/usr/bin/amixer -c 0 set Master playback 100% unmute
exit
    
por Germán Acosta 15.12.2016 / 07:11
0

Quando executo sudo alsactl store , aparece o seguinte erro

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

Eu precisava ativar o som do canal mestre usando

amixer set Master 100 unmute

e funcionou perfeitamente para a placa de som atualmente selecionada. Mas o canal mestre sempre foi silenciado novamente após a inicialização, então criei um script chamado unmute.sh e defina chmod 700 para que outros usuários não pudessem executá-lo. Eu preenchi o script com o seguinte conteúdo:

#!/bin/bash
amixer set Master 100 unmute

e salvou no diretório ~/.kde/Autostart . Se você tiver o Kubuntu ou outra distro com o KDE, todos os scripts nesse diretório serão executados automaticamente na inicialização.

Se você não tiver o KDE, você pode tentar adicionar o comando amixer ao arquivo ~/.profile .

    
por user2513149 10.11.2016 / 07:05