Você pode automatizar o programa bluetoothctl para ligar o dispositivo quando ele estiver conectado ao computador.
A melhor opção é usar algo mais facilmente programável. O Bluetoothctl requer que você faça echo de comandos para stdin, um pouco estranho.
Uma regra do udev para detectar o dispositivo sendo conectado deve ser capaz de lidar com isso.
Por favor, note que em máquinas com rádios bluetooth embutidos, é muito provável que hci0
se refira não ao dongle externo blueotoh, mas ao built-in.
Em casos como esse, substitua hci0
por hci1
no seguinte conteúdo do arquivo.
Crie este arquivo: /etc/udev/rules.d/10-local.rules
Conteúdo:
ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig %k up"
Se isso não funcionar, você pode tentar o script bluetoothctl.
A regra do udev seria algo como isto:
ACTION=="add", KERNEL=="hci0", RUN+="/usr/local/bin/PowerOnBluetooth"
Crie este arquivo: /usr/local/bin/PowerOnBluetooth
Conteúdo:
#!/bin/bash
echo -e 'power on\nquit\n' | bluetoothctl
Não se esqueça de marcar o arquivo executável:
chmod +x /usr/local/bin/PowerOnBluetooth
Fontes: