O Ubuntu altera irritantemente o dispositivo para entrada e saída de áudio do meu fone de ouvido USB para a placa de som integrada sempre que faço logout, hiberne ou desligo o meu computador. Isso ocorre mesmo que "USB Headset Analog Stereo" tenha a opção "Set as fallback" selecionada no PulseAudio.
Eu decidi executar um script toda vez que meu computador inicia ou descongela. Conseguir que os comandos sejam executados quando eu fizer login é fácil: basta colocá-los no meu arquivo .zshrc. Mas estou tendo problemas em fazer com que eles funcionem ao acordar da hibernação. Aqui está meu script, que eu coloquei em /etc/pm/sleep.d:
#!/bin/bash
case "" in
thaw|resume)
pacmd set-default-sink "alsa_output.usb-Sennheiser_Communications_Sennheiser_USB_Headset-00-Headset.analog-stereo"
pacmd set-default-source "alsa_output.usb-Sennheiser_Communications_Sennheiser_USB_Headset-00-Headset.analog-stereo.monitor"
;;
esac
O problema é que ele não executa os comandos pacmd ao descongelar (não suspendo meu computador porque ele congela quando é retomado). Eu tentei inúmeras variações no script, incluindo colocar os comandos pacmd fora da instrução case para que eles (aparentemente) executem independentemente, mas sem sucesso.
Quando coloco outros comandos (como gvim
) no script e hiberne e descongelo o meu computador, eles também não executam. Os comandos são executados, no entanto, se estiverem fora da instrução e eu executar o script na linha de comando. Se eu colocar os comandos em um script em /etc/pm/power.d fora de uma declaração de caso, eles serão executados duas vezes.
Tags startup scripts pulseaudio sound