Nvargus daemon Permission Denied error for multiple users

2 linux users (User1 and User2) are working on the same Jetson Orin machine with the hawk camera. Initially, User1 followed this guide to complete the compute setup, sensor setup, and developer environment setup where the tutorial mounts the docker to /mnt/nova_ssd/workspaces/isaac_ros-dev which is under root. Then, by following this guide to setup argus camera, User 1 could successfully creates a docker using isaac_ros_common/scripts/run_dev.sh and then launch the argus camera node using ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=argus_stereo .

Later, User2 joins the team and creates a docker following the same steps as User 1, which mounts to a separate working directory following the same steps, but got the following nvargus-daemon permission denied error when running ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=argus_stereo
`.

Error msg:

[component_container_mt-1] (Argus) Error FileOperationFailed: Connecting to nvargus-daemon failed: Permission denied (in src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 204)
[component_container_mt-1] (Argus) Error FileOperationFailed: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 106)
[ERROR] [component_container_mt-1]: process has died [pid 61815, exit code -11, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_mt --ros-args -r __node:=container -r __ns:=/isaac_ros_examples'].

As it seems like the permission for accessing nvargus daemon is only granted for the first user (in this case User 1), I tried to let User 1 create the docker for User 2 which mounts to User 2’s working directory, and User 2 could launch the node in that docker, however it is not an optimal solution because User 1 does not have full access to User 2’s working directory. As a beginner, I am wondering if there is any better solution for this multi-user scenario. Any help would be greatly appreciated!

Do you launch the same camera by different user?

Yes, but not at the same time. I launched the same camera in different dockers, and it can only be launched in the dockers that are created by the first user (User 1).

How could User 2 creates a docker and successfully launch the camera in that docker?

Suppose you can’t open the same camera simultaneously.
Verify by terminal the camera by User1 then open by User2

The camera cannot be opened simultaneously. It seems like the problem is due to some permission issue between the 2 users. The problem is solved by letting User 2 create the docker in the root directory instead of creating it inside the home directory. Thanks for your help, Shane!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.