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