OK, então depois de algumas horas explorando a Internet e aprendendo scripts de shell, eu modifiquei o script abaixo, que muda brutalmente o dispositivo de saída de som para o que eu quero.
// edit: também adicionei teste, se o cabo HDMI estiver conectado
#!/bin/bash
while sleep 5s ; do
SCR_SAVER_STATE=$(gnome-screensaver-command --query | grep -o "\w*active\w*")
if [ "$SCR_SAVER_STATE" = "active" ]
then
# switch to speakers, if screensaver is active
pacmd set-card-profile 0 "output:analog-stereo+input:analog-stereo"
else
# check, if HDMI output is available (cable connected)
# if YES switch to HDMI, or to Speakers otherwise
HDMI_AVAILABLE=$(pacmd list-cards | grep "hdmi-output-0" | cut -d ' ' -f 12- | rev | cut -c 2- | rev)
if [ "$HDMI_AVAILABLE" = "yes" ]
then
pacmd set-card-profile 0 "output:hdmi-stereo+input:analog-stereo"
else
pacmd set-card-profile 0 "output:analog-stereo+input:analog-stereo"
fi
fi
done
Salvei o script no meu diretório pessoal e adicionei-o aos aplicativos de inicialização.
Eu acho que é uma solução muito deselegante para o problema, mas pelo menos funciona. O script é personalizado para o meu hardware, por isso, se você tiver o mesmo problema, terá que descobrir quais são seus perfis de saída de som. Você pode encontrar todos os perfis executando o seguinte comando:
pacmd list-cards
Você também pode encontrar seu perfil ativo executando este:
pacmd list-cards | grep "active profile" | cut -d ' ' -f 3-