Bluetooth

為什麼藍牙代理卡在授權上?

  • December 5, 2013

我正在嘗試手動連接我的筆記型電腦和手機。我已經安裝了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>

當我嘗試從手機配對時,會列印密碼請求行。在提示輸入密碼後,設備獲得授權。我現在可以通過手機將文件發送到筆記型電腦。但是,在授權請求後應用程序卡住了,並且控制權沒有傳遞回終端。

為什麼會這樣?如何重新獲得控制權?

這似乎與我在網際網路上看到的範例相反,在這些範例中,終端在授權執行進一步命令後變得可用。

我意識到在後台執行它是一種可能的解決方案,但由於一旦配對完成我需要執行某些其他任務,我更願意讓它在前台執行。

我嘗試使用這個:

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

但是,該程序在完成(或被殺死)之前不會將其輸出寫入文件,因此我無法在bluelog. 有沒有辦法強制程序在完成之前寫入輸出?

這只是解決問題的方法。歡迎任何有關如何解決實際bluetooth-agent停滯問題的建議。


我曾經在後台執行時stdbuf禁用行緩衝。這會實時更新日誌文件,從而讓我檢查並觸發需要完成的其餘活動。STDOUT``bluetooth-agent

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

引用自:https://unix.stackexchange.com/questions/93815