Por que o agente bluetooth está travando na autorização?

Por que o agente bluetooth está travando na autorização?

Estou tentando conectar manualmente entre meu laptop e telefone. Eu tenho bluez-utilsa versão 4.98-2ubuntu7instalada. Quando executo o agente no terminal, recebo:

asheesh@U32U:~$ sudo bluetooth-agent 4835
Pincode request for device /org/bluez/980/hci0/dev<id>
Authorizing request for /org/bluez/980/hci0/dev<id>

A linha de solicitação de código PIN é impressa quando tento emparelhar com meu telefone. Depois de inserir a senha quando solicitado, o dispositivo é autorizado. Agora posso enviar arquivos para o laptop a partir do meu telefone. No entanto, o aplicativo trava após a autorização da solicitação e o controle não é repassado ao terminal.

Por que isso está acontecendo? Como faço para recuperar o controle?

Isso parece ser contrário aos exemplos que vi na Internet, onde o terminal fica disponível após autorização para executar comandos adicionais.

Sei que executá-lo em segundo plano é uma solução possível, mas como preciso executar algumas outras tarefas após a conclusão do emparelhamento, prefiro que seja executado em primeiro plano.

Eu tentei usar isso:

bluetooth-agent "$PIN" 1> ./bluelog #Background run tested also

No entanto, o processo não grava sua saída no arquivo até que seja concluído (ou eliminado), portanto, não posso testar a saída em bluelog. Existe uma maneira de forçar o processo a gravar a saída antes da conclusão?

Responder1

Esta é apenas uma solução alternativa para o problema. Quaisquer sugestões sobre como resolver o problema real da bluetooth-agentestagnação são bem-vindas.


Eu costumava stdbufdesativar o buffer de linha STDOUTao executar bluetooth-agentem segundo plano. Isso atualiza o arquivo de log em tempo real, permitindo-me verificar e acionar o restante das atividades que precisam ser realizadas.

stdbuf -o 0 bluetooth-agent "$PIN" 1> ./bluelog &

informação relacionada