為什麼藍牙代理在授權時卡住了?

為什麼藍牙代理在授權時卡住了?

我正在嘗試在筆記型電腦和手機之間手動連接。我已經安裝了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禁用行緩衝。這會即時更新日誌文件,從而讓我檢查並觸發其餘需要完成的活動。STDOUTbluetooth-agent

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

相關內容