В последнее время я столкнулся с проблемой, которая может быть описана как: Root-привилегия необходима всякий раз, когда программе нужно запустить kinect.Корневые привилегии необходимы при использовании kinect
Мой инструмент настройки цепи: ubuntu14 + ROS индиго + opencv_2.4.11 + openni_1.5.7.10 + primesense_5.1.2.1 + kinect_v1
The феноменами являются следующие:
Когда Я стараюсь, чтобы проверить KINECT выход через OpenNI NiViewer, если я бегу NiViewer без «Sudo», я получаю следующее сообщение
Один или несколько из следующих узлов не могут быть перечислены:
Прибор: PrimeSense/SensorV2/5.1.0.41: Устройство не подключено!
Нажмите любую клавишу, чтобы продолжить. , ,
Но kinect обычно работает, как только я добавляю «sudo» для открытия NiViewer.
Я пытаюсь запустить образец opencv «openni_capture.cpp» в qt, во время компиляции он показывает ошибку, разрешенную при доступе к libopenni.so, я проверяю свойства этого файла, и он показывает «нет» для пользователей кроме владельца. Поэтому я предоставляю другим пользователям доступ только для чтения и компиляцию. Но когда я запускаю встроенный исполняемый файл, он показывает другую ошибку:
Невозможно открыть объект захвата. CvCapture_OpenNI :: CvCapture_OpenNI: Не удалось перечислить деревья производства: невозможно создать какой-либо узел запрашиваемого типа!
до сих пор у меня такое ощущение, что, возможно, все, что связано с kinect, требует привилегий root, поэтому я перехожу к папке, содержащей исполняемый файл, и вручную запускаю ее с помощью 'sudo', после чего kinect снова работает.
Я знаю, что я могу избежать этой проблемы, войдя в систему под корень (который против многих людей), но я действительно хочу знать, что происходит. И я помню, что до установки ROS мне не пришлось использовать «sudo» для открытия NiViewer. ROS изменила систему ubuntu каким-то образом и вызвала это, или есть другая причина? БЛАГОДАРЯ!
Спасибо Vtik, я решил это с помощью жестокого метода, я просто искал все файлы в usr/lib, связанные с openni, и предоставлял им доступ только для чтения, затем проблема исчезла. Тем не менее, я отмечу, что ваш ответ принят, надеюсь, что он может помочь другим с той же проблемой. –