我正在尝试在笔记本电脑和手机之间手动连接。我已经安装了bluez-utils
版本4.98-2ubuntu7
。当我在终端上运行代理时,我得到:
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>
当我尝试通过手机配对时,会打印 pincode 请求行。当我根据提示输入密码后,设备将获得授权。我现在可以从手机将文件发送到笔记本电脑。但是,应用程序在授权请求后会卡住,并且控制权不会传回终端。
为什么会发生这种情况?我如何重新获得控制权?
这似乎与我在互联网上看到的示例相反,在互联网上,终端在授权运行进一步命令后才可用。
我意识到在后台运行它是一个可能的解决方案,但由于配对完成后我需要运行某些其他任务,所以我更愿意让它在前台运行。
我尝试使用这个:
bluetooth-agent "$PIN" 1> ./bluelog #Background run tested also
但是,该进程在完成(或被终止)之前不会将其输出写入文件,因此我无法测试bluelog
.有没有办法强制进程在完成之前写入输出?
答案1
这只是解决该问题的方法。bluetooth-agent
欢迎就如何解决实际的停顿问题提出任何建议。
我曾经在后台运行时stdbuf
禁用行缓冲。这会实时更新日志文件,从而让我检查并触发需要完成的其余活动。STDOUT
bluetooth-agent
stdbuf -o 0 bluetooth-agent "$PIN" 1> ./bluelog &