Como executar automaticamente um script quando conecto um dispositivo bluetooth?

1

Eu tenho um fone de ouvido bluetooth e preciso executar um arquivo .sh toda vez que eu conectá-lo para que ele funcione. Não quero solucionar esse bug, pois sei que já há pessoas pesquisando.

Mas estou interessado em uma maneira de executar esse script .sh toda vez que eu conectar um dispositivo bluetooth. E, se for possível, toda vez que eu conectar um fone de ouvido / esse fone de ouvido específico.

    
por Maccer 11.11.2016 / 16:49

2 respostas

2

Veja as regras de udev . Veja o artigo da ArchWiki sobre regras do udev e esta questão sobre a execução de um script quando um dispositivo USB está conectado.

Também já existem muitas perguntas neste site sobre as regras do bluetooth e do udev. Veja:

por 11.11.2016 / 18:41
-1

Bem, eu tentaria isso:

  1. Abra um shell (bash, sh, ksh) e digite: set -e (ativa o tratamento de erros)
  2. Insira o seu dispositivo BT
  3. Tipo: echo $?

Você deve obter um número maior que 0, que é um código de erro. Dependendo de qual shell você usa, pode haver algumas variáveis de ambiente:

  • ERR = $? = Errorcode
  • ERL = Linenumber se o trap foi detectado em um script.
  • $? = 0 então não há código de erro, e você não precisa ler mais.

Escreva um script ou teste manualmente:

trap 'ERR=$?;errorhandler' listofcodes

errorhandler é o script que decide o que é quando uma lista de códigos ocorre.

A lista pode ser 1 10 14 15 (17 18 ...) ou apenas 1 número, aquele que você deseja capturar.

# script errorhandler
errorhandler(){
case $ERR in
    1)
#    here U can take action or perhaps just ignore
    return
    ;;
    *) 
#    action if errorcode was different from 1

    ;;


esac
}

Você colocaria a linha 1-4 em /etc/profile ou semelhante para torná-lo em todo o sistema.

Em /etc , deve haver um rc.d ou init.d contendo scripts de início e fim relacionados a inicialização e alteração em estado de trânsito. Deve haver um scriptfile para o seu dispositivo BT, confira, mas não altere o conteúdo, a menos que ...

Se o código de erro na linha 2 for zero, você deve ir mais fundo.

    
por 11.11.2016 / 18:40

Tags