如果我将蓝牙设备与PC配对,但我 * 不 * 信任它,则每当我打开蓝牙设备时,我都会在bluetoothctl中得到如下提示:
Authorize service
[agent] Authorize service 0000111f-0000-1000-8000-00805f9b34fb (yes/no):
如果键入yes,则允许连接设备。
我想写一个小的Python脚本,监视新服务并提示我使用inotify-send
授权它们,pybluez似乎是完成这项工作的工具。但是,在阅读了文档之后,我不知道这是否可行。(很大程度上可能是因为我不熟悉蓝牙技术术语。)
是否可以使用pybluez监视和授权服务,如果可以,如何操作?
1条答案
按热度按时间6rqinv9w1#
给你,不需要pybluez。
我写这篇文章是为了解决一个相关的问题,即每当我插入PS4控制器时,Bluez 5. 53总是不停地解除配对。Bluez实际上所做的是每次插入控制器时发送授权服务请求,或者在您的情况下,每当您为蓝牙设备供电时,如果没有蓝牙代理响应,则会自动拒绝。如果您运行
bluetoothctl
,则它将充当蓝牙代理,并询问是否授权该服务。controller issue looks fixed in the latest bluez,但不在Ubuntu LTS 22. 04或更早版本中。不确定您的情况是否受此修复的影响。
该代码基于example/test code that bluez provides。