Как отключить внутреннюю веб-камеру?

10

Я хочу отключить внутреннюю веб-камеру моего ноутбука под управлением Ubuntu 13.10? Как предлагается здесь , я уже отключил соответствующие модули ядра, занеся их в черный список. Но после перезагрузки модули все же загружаются. Что я могу сделать, чтобы избавиться от этих модулей?

Мой черный список модулей лежит /etc/modprobe.d/blacklist-webcam.confи выглядит так:

blacklist videodev
blacklist videobuf2_core
blacklist videobuf2_memops
blacklist videobuf2_vmalloc
blacklist uvcvideo

Но lsmodвыдает мне (после перезагрузки):

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модули исчезли. Так что я мог бы написать сценарий для этого. Но я не считаю это чистым решением ;-)

Марк Хауптманн
источник
Что вы получаете, когда вы печатаете sudo modprobe -r uvcvideo?
Jobin
1
Где вы сохранили свой черный список?
Брайам
@Braiam: черный список лежит в /etc/modprobe.d. Он также содержит записи в черный список модулей Bluetooth. Это работает, поэтому файл интерпретируется.
Марк Хауптманн
Какой драйвер стоит за вашим требованием отключить камеру? Серьезно, не пытаюсь троллить. Если вы хотите высвободить ресурсы, используемые k-модулями и еще много чего, круто. Если вы хотите, чтобы камера не захватывает изображения / видео, и вам не нужны пара Кбайт или память, возможно, это то, что вам нужно? pbs.twimg.com/media/BTWPnR_CYAA2pfM.jpg получить их здесь eff.org/deeplinks/2013/04/…
0xSheepdog
Я думаю, что они включаются позже по правилам udev. Я не уверен, как вы можете отключить их.
Брайам

Ответы:

6
  • В вашем 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 в раздел FILES в /etc/mkinitcpio.conf, если вы этого еще не сделали, и перестроить initramfs после внесения модулей в черный список и перезагрузить компьютер после этого.

Использование файлов в /etc/modprobe.d/

Создайте файл .conf внутри /etc/modprobe.d/ и добавьте строку для каждого модуля, который вы хотите добавить в черный список, используя ключевое слово blacklist. Например, если вы хотите запретить загрузку модуля pcspkr:

/etc/modprobe.d/nobeep.conf

# Do not load the 'pcspkr' module on boot.
blacklist pcspkr

Примечание. Команда «черный список» внесет модуль в черный список, чтобы он не загружался автоматически, но модуль может быть загружен, если от него зависит другой модуль, не включенный в черный список, или если он загружен вручную.

Тем не менее, есть обходной путь для этого поведения; Команда install указывает modprobe запускать пользовательскую команду вместо того, чтобы вставлять модуль в ядро, как обычно, поэтому вы можете принудительно заставить модуль всегда не загружаться с помощью:

/etc/modprobe.d/blacklist.conf

...
install module_name /bin/false
...

Это будет эффективно помещать в черный список этот модуль и любой другой, который зависит от него.

Bain
источник
1

Простое размещение списка модулей в /etc/modprobe.d/blacklist.uvcdrver.conf должно работать. Имя файла может быть любым. Просто убедитесь, что формат и разрешения указаны правильно.

askb
источник
1

Спасибо всем большое за вашу помощь! Я нашел источник проблемы, пытаясь решить проблему Бэйна . Его решение работает хорошо. После перезагрузки модули действительно пропали. Но есть один недостаток: я не могу загрузить модуль через, modprobe uvcvideoесли я хочу снова включить веб-камеру.

Копаясь в моей системе, чтобы выяснить, почему uvcvideoмодуль был загружен, я, наконец, сделал a grep -r uvcvideo /etc/и вуаля, я нашел скрипт, в /etc/pm/power.dкотором делал, modprobe uvcvideoкогда кабель питания подключен. Я написал этот скрипт некоторое время назад, чтобы оптимизировать Потребляемая мощность Я закомментировал строки, касающиеся модуля веб-камеры, и после этого черный список сработал!

Марк Хауптманн
источник
0

Я бы предложил вам бежать

sudo update-initramfs -u

после изменения вашего черного списка. Это обновит ваш начальный виртуальный диск.

N8tron
источник
Нет, это не сработало
Марк Хауптманн
0

В случае, если вы пытались найти решение в одной командной строке, это может быть полезно (на основе этого ответа ):

Чтобы отключить камеру до перезагрузки, используйте эту команду:

sudo modprobe -r uvcvideo

Введите свой пароль, и если в терминале нет ошибок, ваша веб-камера должна быть отключена. Если вы получили сообщение об ошибке: modprobe: FATAL: модуль uvcvideo используется, вы можете попытаться принудительно удалить его:

sudo rmmod -f uvcvideo

Чтобы снова включить веб-камеру, введите shell:

sudo modprobe uvcvideo
gaboroncancio
источник