認証時にBluetoothプロキシがハングするのはなぜですか?

認証時にBluetoothプロキシがハングするのはなぜですか?

ノートパソコンと携帯電話を手動で接続しようとしています。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。プロセスが完了する前に強制的に出力を書き込む方法はありますか?

ベストアンサー1

これは問題に対する解決策です。bluetooth-agent実際の遅延問題を解決する方法の提案を歓迎します。


私はバックグラウンドで実行中にstdbufラインバッファリングを無効にしました。これにより、ログファイルがリアルタイムで更新されるため、完了する必要がある残りのアクティビティを確認してトリガーできます。STDOUTbluetooth-agent

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

おすすめ記事