Bluez bluetoothd는 모든 프로세스와 상호 작용하려면 루트가 필요합니다.

Bluez bluetoothd는 모든 프로세스와 상호 작용하려면 루트가 필요합니다.

Ubuntu xenail box(16.04)의 bluez 설치를 버전 5.41로 업그레이드했습니다. Bluetooth 저에너지 하드웨어로 일부 테스트를 수행하려고 하므로 명령줄에서 다음 명령을 사용하여 실험적인 GATT 인터페이스를 활성화하고 있습니다.

sudo bluetoothd -E

내 문제는 업그레이드 후 bluetoothctl 유틸리티를 사용하거나 d-feet를 통해 dbus 인터페이스와 상호 작용하려면 루트로 실행해야 한다는 것입니다. bluetoothctl에서 (목록 표시 또는 부팅) 명령을 사용하려고 하면 다음과 같은 메시지가 나타납니다."사용 가능한 기본 컨트롤러가 없습니다.", /org/bluez/hci0에서 d-feet를 통해 검색 시작 명령을 실행하려고 하면 다음과 같은 메시지가 나타납니다.org.freedesktop.Dbus.Error.AccessDenied실수. 기본 설치에서는 이 문제가 발생하지 않습니다.

bluez에 대한 설치 지침을 많이 찾지 못했기 때문에 (아래 명령을 통해) 표준 방식으로 설치했습니다. 내 생각에는 블루투스에 대한 심볼릭 링크도 만들어 내 경로에 있어야 할 것 같습니다.

./configure
make
sudo make install

그래서 루트로 실행되지 않는 프로세스에서 블루투스 API에 액세스할 수 있도록 bluetoothd의 권한을 조정하는 방법을 알고 싶습니다.

감사해요

관련 정보