首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用内部摄像头?

如何禁用内部摄像头?
EN

Ask Ubuntu用户
提问于 2014-04-30 19:56:49
回答 5查看 6.7K关注 0票数 10

我想禁用运行Ubuntu13.10的笔记本电脑的内部网络摄像头?正如建议的这里,我已经禁用了相关的内核模块,将它们列入黑名单。但是,在重新启动之后,模块仍然会被加载。我能做些什么来摆脱这些模块?

我的模块黑名单位于/etc/modprobe.d/blacklist-webcam.conf中,如下所示:

代码语言:javascript
复制
blacklist videodev
blacklist videobuf2_core
blacklist videobuf2_memops
blacklist videobuf2_vmalloc
blacklist uvcvideo

但是lsmod给了我(在重新启动之后):

代码语言:javascript
复制
Module                  Size  Used by
uvcvideo               80885  0 
videobuf2_vmalloc      13216  1 uvcvideo
videobuf2_memops       13362  1 videobuf2_vmalloc
videobuf2_core         40499  1 uvcvideo
videodev              133509  2 uvcvideo,videobuf2_core

编辑:

当我做sudo modprobe -r uvcvideo时,模块就消失了。这样我就可以写个剧本来做了。但我不认为这是一个清洁的解决办法;)

EN

回答 5

Ask Ubuntu用户

回答已采纳

发布于 2014-05-10 17:27:15

非常感谢你们的帮助!我在尝试贝恩氏溶液时找到了问题的根源。他的解决方案效果很好。重新启动之后,模块就真的消失了。但是有一个缺点:如果我想重新启用摄像头,我无法通过modprobe uvcvideo加载模块。

在深入我的系统以找出为什么加载uvcvideo模块时,我终于做了一个grep -r uvcvideo /etc/和voilà,我在/etc/pm/power.d中找到了一个脚本,当电源电缆插上时,它做了一个modprobe uvcvideo。我不久前写了这个脚本来优化功耗。我评论了处理网络摄像头模块的线路,在那之后,黑名单起作用了!

票数 1
EN

Ask Ubuntu用户

发布于 2014-05-08 19:29:41

  • 在blacklist.conf中将blacklist videodev更改为install videodev /bin/false
  • update-initramfs -u
  • reboot

有关更多细节,请参见Arch Wiki上的核模块黑名单

黑名单黑名单,在内核模块的上下文中,是一种防止内核模块加载的机制。例如,如果不需要关联的硬件,或者加载该模块会导致问题,这可能是有用的:例如,可能有两个内核模块试图控制相同的硬件,并将它们一起加载将导致冲突。一些模块作为initramfs的一部分加载。mkinitcpio -M将打印出所有自动检测到的模块:为了防止initramfs加载其中一些模块,请将它们黑名单到/etc/modprobe.d/modprobe.conf中。运行mkinitcpio -v将列出由各种钩子(例如文件系统钩子、块钩子等)拉入的所有模块。如果尚未这样做,请记住将该.conf文件添加到/etc/mkinitcpio.conf中的文件部分,并在列出模块后重新构建initramfs。使用/etc/modprobe.d/中的文件在/etc/modprobe.d/中创建一个.conf文件,并使用黑名单关键字为每个要列入黑名单的模块追加一行。例如,如果要阻止pcspkr模块加载: /etc/modprobe.d/nobeep.conf #,请在引导时不要加载“pcspkr”模块。黑名单pcspkr注意:黑名单命令将列出一个模块,这样它就不会自动加载,但是如果另一个非黑名单模块依赖于它,或者它是手动加载的,则该模块可能被加载。但是,对于这种行为,有一个解决办法;install命令指示mod探针运行一个自定义命令,而不是像往常一样将模块插入内核中,这样您就可以强制模块始终失败加载: /etc/modprobe.d/blacklist.conf .安装module_name /bin/false ..。这将有效地黑名单的模块和任何其他依赖于它。

票数 7
EN

Ask Ubuntu用户

发布于 2014-05-09 11:30:17

只要将模块列表放在/etc/modprobe.d/blacklist.uvcdrver.conf中就可以了。文件名可以是任何内容。只需确保格式和权限是正确的。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/458515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档