我正在使用运行 Ubuntu 18.04 的笔记本电脑,它有一个内置网络摄像头(与显示器集成),并且我还连接了多个其他网络摄像头。
我想仅禁用内置网络摄像头,并继续允许我选择连接的任意数量的其他摄像头。在 Ubuntu 18.04 中有没有一种优雅的方法可以做到这一点?
关于这个主题,我目前能找到的所有信息都建议sudo modprobe -r uvcvideo
暂时sudo modprobe uvcvideo
禁用和启用网络摄像头,并/etc/modprobe.d/blacklist.conf
在重新启动后进行编辑以持续禁用网络摄像头,但这两种方法似乎都会打开或关闭所有网络摄像头,而不仅仅是内置网络摄像头或某个指定的网络摄像头。
答案1
确实有一个相当优雅的解决方案。你不必告诉驱动程序忽略该设备,而是告诉系统忽略该设备。
由于内部网络摄像头通常被检测为 USB 设备,因此您可以添加“udev 规则”以在启动时禁用该设备。
示例:在我的例子中,使用 lsusb 可以列出我的 chromebook 的内部网络摄像头,如下所示:
minimec@ace:~$ lsusb
Bus 002 Device 002: ID 1bcf:2c67 Sunplus Innovation Technology Inc
有了这些信息,我们现在可以向 /etc/udev/rules.d 添加“udev 规则”
sudo nano /etc/udev/rules.d/40-disable-internal-webcam.rules
我们添加以下行并使用从“lsusb”命令获得的值指定 idVendor 和 idProduct 值。如前所示,我的值为“1bcf:2c67”
ATTRS{idVendor}=="1bcf", ATTRS{idProduct}=="2c67", RUN="/bin/sh -c 'echo 0 >/sys/\$devpath/authorized'"
使用“ctrl+x”“y”保存文件。重启后,系统应该会忽略您的内置 WebCam。