Existe alguma maneira de salvar as configurações do alsamixer que não sejam o alsactl store?

9

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

Esta pergunta e suas respostas indicam que sudo alsactl storeas configurações do alsamixer serão armazenadas assim que ativar a saída S / PDIF, mas na inicialização, a saída S / PDIF será silenciada novamente.

Em /var/lib/alsa/asound.state( pastebin ) há uma entrada PDIF, que eu configurei como "true" e salvei; isso resultou na solução do auto-mudo para o meu "Phantom Jack", mas não há outra entrada para o "verdadeiro" S / PDIF no asound.state que eu possa ajustar manualmente.

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

JeanSibelius
fonte

Respostas:

9

Eu tenho o mesmo problema no meu pc:
Parece que o alsa efetivamente restaura o estado "não-silenciado" do SPDIF durante a inicialização, mas o pulseaudio o silencia quando a sessão do usuário é iniciada.
Para verificar se a restauração do alsa está correta, basta executar sudo alsactl restoreem um terminal e verificar se ele ativou o SPDIF.
Para verificar se o pulseaudio é o problema, basta executar o pulseaudio -krelançamento do pulseaudio: você deve ver que o SPDIF está mudo.

Como não sei como definir o pulseaudio para não silenciar, esta é uma solução alternativa inspirada a partir daí :

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

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

salvar e fechar.
Agora, edite o .profilearquivo:
gedit .profile
adicione esta linha no final:

bash .unmute &

salvar e fechar.

Agora teste a reabertura da sessão ou a reinicialização.

Nota : no link acima da Mageia, eles usam /etc/rc.local para executar alsactl restoreno momento da inicialização, também está ok. Mas, usando .profilee amixer, não é necessário "sudo" e ele será desativado a cada início de sessão para o seu login.

laugeo
fonte
1

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

O problema era que o fone de ouvido estava desativado, 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 .unmutescript se parece com:

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

Se você deseja ativar o som e ajustar 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
Germán Acosta
fonte
0

Quando executo sudo alsactl store, ocorre o seguinte erro

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

Eu precisava ativar o som do canal Master 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, por isso criei um script nomeado unmute.she definido chmod 700para que outros usuários não pudessem executá-lo. Enchi o script com o seguinte conteúdo:

#!/bin/bash
amixer set Master 100 unmute

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

Se você não possui o KDE, você pode tentar adicionar o amixercomando ao ~/.profilearquivo.

user2513149
fonte