Estoy intentando conectarme manualmente entre mi computadora portátil y mi teléfono. Tengo bluez-utils
la versión 4.98-2ubuntu7
instalada. Cuando ejecuto el agente en la terminal, obtengo:
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>
La línea de solicitud del código PIN se imprime cuando intento realizar el emparejamiento desde mi teléfono. Después de ingresar la clave de acceso cuando se me solicita, el dispositivo se autoriza. Ahora puedo enviar archivos a la computadora portátil desde mi teléfono. Sin embargo, la aplicación se bloquea después de autorizar la solicitud y el control no se devuelve al terminal.
¿Por qué está pasando esto? ¿Cómo recupero el control?
Esto parece ser contrario a los ejemplos que he visto en Internet, donde el terminal queda disponible después de la autorización para ejecutar más comandos.
Me doy cuenta de que ejecutarlo en segundo plano es una posible solución, pero como necesito ejecutar otras tareas una vez que se completa el emparejamiento, preferiría ejecutarlo en primer plano.
Intenté usar esto:
bluetooth-agent "$PIN" 1> ./bluelog #Background run tested also
Sin embargo, el proceso no escribe su salida en el archivo hasta que se completa (o se cancela), por lo que no puedo probar la salida en formato bluelog
. ¿Hay alguna manera de forzar que el proceso escriba el resultado antes de finalizar?
Respuesta1
Esta es sólo una solución al problema. Cualquier sugerencia sobre cómo abordar el problema real del bluetooth-agent
estancamiento es bienvenida.
Solía stdbuf
deshabilitar el almacenamiento en búfer de línea STDOUT
cuando se ejecutaba bluetooth-agent
en segundo plano. Esto actualiza el archivo de registro en tiempo real, lo que me permite verificar y activar el resto de las actividades que deben realizarse.
stdbuf -o 0 bluetooth-agent "$PIN" 1> ./bluelog &