2016-10-13 4 views
2

Ich habe kürzlich ein Problem festgestellt, das wie folgt beschrieben werden kann: Root-Berechtigung wird benötigt, wenn ein Programm kinect ausführen muss.Root-Berechtigung wird benötigt, wenn kinect verwendet

Mein Werkzeugkette Setup ist: ubuntu14 + ros indigo + opencv_2.4.11 + openni_1.5.7.10 + primesense_5.1.2.1 + kinect_v1

Die Phänomene sind wie folgt:

  1. Wenn ich versuche, die kinect Ausgabe über OpenNI NiViewer zu überprüfen, ob ich NiViewer ohne ‚sudo‘ laufen, werde ich die folgende Meldung erhalten

    eine oder mehrere der folgenden Knoten nicht aufgezählt werden:

    Gerät: PrimeSense/SensorV2/5.1.0.41: Das Gerät ist nicht angeschlossen!

    Drücken Sie eine beliebige Taste, um fortzufahren. . .

    Aber kinect funktioniert normal, sobald ich die 'sudo' hinzufügen, um NiViewer zu öffnen.

  2. Ich versuche, eine Opencv-Beispiel "openni_capture.cpp" in Qt, während der Kompilierung zeigt Fehler, dass die Berechtigung verweigert beim Zugriff auf libopenni.so, überprüfe ich die Eigenschaften dieser Datei und es zeigt "keine" für Benutzer andere als Besitzer. Also gebe ich anderen Benutzern nur Lesezugriff und Kompilierung ging durch. Aber wenn ich die ausführbare Datei ausführe, zeigt es einen anderen Fehler:

    Kann ein Capture-Objekt nicht öffnen. CvCapture_OpenNI :: CvCapture_OpenNI: Produktionsbäume konnten nicht aufgelistet werden: Es konnte kein Knoten des angeforderten Typs erstellt werden!

    Bis jetzt habe ich das Gefühl, dass alles, was mit kinect zu tun hat, root-Rechte benötigt, also navigiere ich zu dem Ordner, der die ausführbare Datei enthält und führe es manuell mit 'sudo' aus, dann funktioniert kinect wieder.

Ich weiß, dass ich dieses Problem, indem Sie sich als root vermeiden kann (was gegen die von vielen Menschen ist), aber ich möchte wirklich wissen, was los ist. Und ich erinnere mich, dass ich vor der Installation von ROS nicht "sudo" verwenden musste, um NiViewer zu öffnen. Ändert ROS das ubuntu System irgendwie und verursacht das, oder gibt es andere Gründe? VIELEN DANK!

Antwort

0

Dies könnte ein Zugriffsrecht Problem sein und vielleicht im User-Modus laufen zu lassen, müssen Sie sich auf das ‚Video‘ UNIX hinzufügen Gruppe (siehe diese explanation)

sudo adduser $USER video 

Dann melden Sie sich ab und wieder zurück. Ein Neustart ist nicht notwendig. Schließen Sie einfach den Kinect (wenn bereits verbunden, ziehen Sie den Stecker ab und stecken Sie ihn wieder ein), und versuchen Sie es erneut. Ich hoffe es hilft !

+0

Dank Vtik, löste ich dies mit einer brutalen Methode, ich suchte einfach nach allen Dateien in der usr/lib, die mit Openni verwandt sind, und ihnen Lesezugriff gemeinsam geben, dann verschwand das Problem. Dennoch werde ich Ihre Antwort akzeptiert, hoffe, es kann anderen mit dem gleichen Problem helfen. –

Verwandte Themen