我成功地在无 root 权限的容器上使用btmgmt
,btmon
并且主机仍然连接到蓝牙设备。耶!
但是,使用时仅当主机上的服务停止bluetoothctl
时我才能使用它。bluetooth
查看诊断信息bluetoothd
bluetoothd[17345]: src/adapter.c:set_blocked_keys_complete() Successfully set blocked keys for index 0
这让我认为这bluetoothd
建立了某种排他性,尽管 btmgmt/btmon 没有这样做。
我希望能够使用容器内的蓝牙控制器(通过 vscode devcontainers 进行开发目的),同时在主机上使用蓝牙(用于键盘/鼠标)。
这既是为了个人理想,也是为了了解限制,以便能够为超级干净的开发人员的设置提供指导。
我读到 homeassistant 项目使用 dbus 代理,是不是因为 dbus 本身存在共享问题?其他选项包括将 dbus 映射到容器中,但感觉不对,因为我不想共享整个 dbus。
我还没有找到可以提供帮助的 bluez 配置选项。
希望 bluetoothctl 能够工作的主要原因是我发现 bluetoothctl 工作和 Tmds.DBus 工作之间存在关联(即能够从用户空间代码访问它)。