
Postei uma pergunta semelhante anteriormente, mas Kamil Maciorowski apontou correta e sabiamente que, conforme postado, não era realmente o único problema que parecia ser, mas um amálgama de 3. Então, excluí o sistema quebrado e a pergunta. Estou recomeçando com uma nova instalação do Lubuntu, a atual. Fora da caixa, se eu ligar os fones de ouvido bluetooth, o som será reproduzido por eles e não pelos alto-falantes internos. Se eu desligar os fones de ouvido, o som será reproduzido automaticamente nos alto-falantes.
O que eu preferiria é nunca enviar nenhum som aos alto-falantes, a menos que eu direcione explicitamente a saída de um comando específico para eles. Tipo, pseudocódigo: aplay /path/fire-alarm.wav -o speakers
e faça com que todos os outros sons sejam reproduzidos através dos fones de ouvido, se disponíveis, e caso contrário, simplesmente não sejam reproduzidos.
Se não houver nenhuma provisão direta para esse tipo de política, eu me pergunto se há alguma maneira de enganar o sistema para que ele veja /dev/null como um coletor de áudio sempre funcionando e sempre disponível, que é o segundo na fila depois dos fones de ouvido e à frente dos alto-falantes internos. Isso, em conjunto com um comando 'reproduzir este som pelos alto-falantes', deve bastar.
Se nada disso for possível, os comandos para desativar e ativar os alto-falantes sem afetar a função dos fones de ouvido e sem re-logar serviriam quase tão bem ao propósito, desde que algo na arquitetura de som bizantina do Linux não decida espontaneamente "Oh, seus alto-falantes são desligado, vou consertar isso para você."
Isso não é o mesmo que simplesmente dizer que os fones de ouvido Bluetooth devem ser o padrão. É assim que é agora. Se eu assistir "Debbie Does Dubai" e os fones de ouvido ficarem fora de alcance, ou ficarem sem energia, ou eu apenas me atrapalhar tentando ajustar sua posição física, não quero que o som mude automaticamente para começar a sair dos alto-falantes.
O que procuro é uma política que não envie nada aos alto-falantes, a menos que eu diga explicitamente para enviar um fluxo específico para lá e, em seguida, envie apenas isso ou, na falta disso, uma maneira programável de desativar e ativar os alto-falantes sem registrar novamente.
Responder1
PULSE_SINK=<sink_name> algum programa
Você pode obter uma lista dos "sink_name" disponíveis em:
LANG=C pactl list | grep -A2 'Sink #' | grep Name: | cut -d" " -f2