如何从 shell 打开/关闭笔记本电脑内置网络摄像头

如何从 shell 打开/关闭笔记本电脑内置网络摄像头

Fn+F6组合键可打开/关闭笔记本电脑的集成网络摄像头。查看输出dmesg,似乎网络摄像头(USB 设备)或多或少虚拟地连接到/断开了 USB 总线:

usb 1-5: new high-speed USB device number 9 using ehci_hcd
usb 1-5: New USB device found, idVendor=5986, idProduct=0203
usb 1-5: New USB device strings: Mfr=3, Product=1, SerialNumber=0
usb 1-5: Product: BisonCam, NB Pro
usb 1-5: Manufacturer: Bison Electronics Inc.
uvcvideo: Found UVC 1.00 device BisonCam, NB Pro (5986:0203)
input: BisonCam, NB Pro as /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/input/input14
usb 1-5: USB disconnect, device number 9

前七行位于“连接”事件之后,最后一行位于“断开连接”事件之后。dmesg为清楚起见,删除了时间戳。

showkey从 tty 控制台执行返回键码 214,xev从 KDE 执行返回键码 220,还有。以下是与按+相关的输出XF86WebCam部分:xevFnF6

KeyPress event, serial 40, synthetic NO, window 0x3600001,
    root 0xac, subw 0x0, time 78270130, (346,354), root:(348,377),
    state 0x0, keycode 220 (keysym 0x1008ff8f, XF86WebCam), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

我已经尝试使用、和发送Fn+F6组合(214、220 或 XF86WebCam)的键码,但没有成功。xdotoolxvkbdxmacro

可能正确的做法是根本不使用密钥代码。

答案1

使用 root 权限运行此命令:

echo 0 > /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/authorized

该路径取自dmesg的输出:

输入:BisonCam,NB Pro 作为 /devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/input/input14

这将禁止系统访问您的设备,而无需停用整个总线或 uvc 驱动程序,也无需重新启动。

要重新激活,请运行echo 1 > /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0/authorized(再次使用 root 权限)。

注意:我使用 Linux 4.17 的 Archlinux

答案2

您可以modprobe在命令行上以交互方式执行此操作。您可以将其列入黑名单,然后重新启动或恢复/etc/modprobe.d/blacklist.conf

我刚刚发现AskUbuntu 上的这篇文章这可能会提供更多细节,因为我目前面前没有配备网络摄像头的系统。

相关内容