如何设置 bluepy 无需 sudo 即可扫描的环境?
How to setup the enviroment that bluepy can scan without sudo?
我写了一些 Python3 脚本,用于扫描设备。如果它们与 "name" 匹配,我将连接到它们并做一些有趣的事情。该脚本建立在 bluepy
模块之上。
有人认为我不喜欢,我需要 运行 设备扫描为 sudo
(如 sudo python3 getDev.py
)。任何想法如何使用户能够在没有 root 权限的情况下进行扫描?
猜猜我需要将本地用户添加到组等。欢迎任何想法
关于 linux 蓝牙协议栈需要特殊权限才能与之交互。
这些权限是通过称为功能的属性实现的,有关详细信息,请参阅man 7 capability。
分配能力的工具是程序setcap
。
在 bluepy 的情况下,它是与蓝牙协议栈交互的二进制文件 bluepy-helper
,因此找到安装包 bluepy 和 运行:
的位置
sudo setcap 'cap_net_raw,cap_net_admin+eip' ${PY_SITE_PACKAGES_DIR}/bluepy/bluepy-helper
另见 here
我写了一些 Python3 脚本,用于扫描设备。如果它们与 "name" 匹配,我将连接到它们并做一些有趣的事情。该脚本建立在 bluepy
模块之上。
有人认为我不喜欢,我需要 运行 设备扫描为 sudo
(如 sudo python3 getDev.py
)。任何想法如何使用户能够在没有 root 权限的情况下进行扫描?
猜猜我需要将本地用户添加到组等。欢迎任何想法
关于 linux 蓝牙协议栈需要特殊权限才能与之交互。
这些权限是通过称为功能的属性实现的,有关详细信息,请参阅man 7 capability。
分配能力的工具是程序setcap
。
在 bluepy 的情况下,它是与蓝牙协议栈交互的二进制文件 bluepy-helper
,因此找到安装包 bluepy 和 运行:
sudo setcap 'cap_net_raw,cap_net_admin+eip' ${PY_SITE_PACKAGES_DIR}/bluepy/bluepy-helper
另见 here