在另一台机器上使用 SSH 或远程桌面连接时,Ubuntu 22.04 上的网络摄像头无法工作或访问

在另一台机器上使用 SSH 或远程桌面连接时,Ubuntu 22.04 上的网络摄像头无法工作或访问

在这种情况下,我通过本地网络从 Windows 11 连接到 Ubuntu 22.04 来运行一些 python 脚本,其中一个脚本需要网络摄像头访问。

网络摄像头在连接并从任一机器本地使用时都可以正常工作。因此,在 Windows 上运行“Camera”并在 Ubuntu 上运行“Cheese”都可以访问网络摄像头并显示图像。

问题是,一旦我建立隧道到 Ubuntu 机器,我就无法启动或访问 USB 网络摄像头,无论我使用 SSH 还是 RDC(远程桌面连接)都没有关系。

在终端中写入时lsusb,我可以看到所有 USB 设备,还可以看到无法启动的网络摄像头。

答案1

事实证明,这些摄像头归“root”所有,因此我的远程桌面连接用户配置文件无法访问它们,即使它与我在本地登录时使用的用户配置文件相同。:|

解决方案

将相机所有权转移给远程桌面连接中使用的用户配置文件

在终端中检查所有摄像机,使用ls -l /dev/video*显示所有摄像机。更改ls -l /dev/video4使其特定于索引 4 上的摄像机。这显示:

crw-rw----+ 1 root video 81, 8 Sep 11 11:46 /dev/video4

将其更改为

sudo chown SomeProfileUsedWithRemote:video /dev/video4
sudo chmod 660 /dev/video4

得出

crw-rw----+ 1 SomeProfileUsedWithRemote video 81, 8 Sep 11 11:47 /dev/video4

瞧。现在我可以通过 SSH 和 RDC 访问网络摄像头了!我只需从“root”更改为远程“用户配置文件”(针对每个摄像头索引)。

相关内容