Gostaria de compartilhar com você como resolvi isso com uma solução permanente sem scripts. Dessa forma, também podemos nos livrar do som pop feio quando o pulseaudio é iniciado.
Eu uso o Apple MacBook 7,1 meados de 2010, branco Unibody.
A razão pela qual a luz vermelha se acende em cada início de pulseaudio é que há detecção automática de hardware definida em /etc/pulse/default.pa
O exemplo usual default.pa aqui: link
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif
Quando esses módulos estão sendo carregados, ele detecta automaticamente seu hardware e também o inicializa. Enquanto o hardware está sendo inicializado, a saída SPDI / F é ligada para que a luz vermelha acenda, mesmo que você tenha alternado anteriormente o mudo usando o alsamixser desativado. Quando SPDI / F são alternados novamente, também há o efeito de som pop feio.
Para evitar esse comportamento, decidi definir meu hardware manualmente. Eu não quero usar módulos de detecção automática de hardware. Eu os desativei comentando todo o bloco:
### Automatically load driver modules depending on the hardware available
#.ifexists module-udev-detect.so
#load-module module-udev-detect
#.else
### Use the static hardware detection module (for systems that lack udev support)
#load-module module-detect
#.endif
Agora, preciso definir meu hardware de áudio - dissipador de saída e fonte de entrada. Eu usei o módulo-alsa-sink e o módulo-alsa-source. Eu também preciso saber qual HW ID minhas fontes de áudio têm. Na minha máquina, há apenas uma placa de áudio integrada com entrada / saída com id hw: 0,0. Pode ser diferente na sua máquina.
É assim que eu carrego módulos de sumidouros e fontes de entrada:
### Load audio drivers statically
load-module module-alsa-sink device=hw:0,0
load-module module-alsa-source device=hw:0,0
#load-module module-null-sink
#load-module module-pipe-sink
É importante recarregar o pulseaudio então. Você pode usar: pulseaudio --vv --kill e, em seguida, inicie novamente com pulseaudio --vv --start
Não, teremos disponível tanto nossa entrada / saída de áudio, o jack não está brilhando com o vermelho e o som pop na inicialização se foi. Todas as alterações feitas no alsamixer sempre persistirão também.
Mas, com essas configurações simples, não podemos usar o SPDI / F como saída regular. E se decidir tocar som através disso?
Eu posso até mesmo definir a saída SPDI / F também. O SPDI / F tem hw0,1 ID na máquina. Se eu gostaria de usá-lo novamente. Eu adicionarei esta linha à minha configuração:
### Load audio drivers statically
load-module module-alsa-sink device=hw:0,0
load-module module-alsa-sink device=hw:0,1
load-module module-alsa-source device=hw:0,0
#load-module module-null-sink
#load-module module-pipe-sink
Com essa configuração, podemos facilmente desativá-lo e ativá-lo no alsamixer. E a configuração persistirá .
Aqui está um exemplo da minha configuração que eu uso: link
Na verdade, não possuo nenhum outro tipo de sistema de som, por isso não posso testá-lo. Se você estiver usando o sistema de som 2.1 ou 4.1, a saída provavelmente será reproduzida apenas como estéreo e você precisará adicionar mais configurações para que funcione corretamente. O mesmo problema poderia ser com a saída HDMI, não posso testá-lo.