Як відключити внутрішню веб-камеру?


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 з чорного списку. Це працює, тому файл інтерпретується.
Марк Гауптман

Який драйвер стоїть за вашою вимогою відключити камеру? Серйозно, не намагаючись троліти. Якщо ви хочете звільнити ресурси, що використовуються kmodules, і нічого такого, приголомшливо. Якщо ви хочете, щоб камера не захоплювала зображення / відео, і вам не байдуже кілька кбіт або пам'ять, можливо, це те, що вам потрібно? pbs.twimg.com/media/BTWPnR_CYAA2pfM.jpg отримати їх тут eff.org/deeplinks/2013/04/…
0xSheepdog

Я думаю, що вони згодом отримують активізацію правил udev. Я не впевнений, як ви можете їх відключити.
Брайам

Відповіді:


6
  • У своєму чорному списку.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/ та додайте рядок до кожного модуля, який ви хочете до чорного списку, використовуючи ключове слово чорний список. Якщо, наприклад, ви хочете не допустити завантаження модуля 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
...

Це дозволить фактично отримати чорний список цього модуля та будь-якого іншого, що від нього залежить.


1

Просто розміщення списку модулів у /etc/modprobe.d/blacklist.uvcdrver.conf повинно працювати. Ім'я файлу може бути будь-яким. Просто переконайтесь, що формат та дозволи є правильними.


1

Дякую всім за допомогу! Я знайшов джерело проблеми, намагаючись вирішити Бейн . Його рішення працює добре. Після перезавантаження модулів справді не було. Але є один недолік: я не можу завантажити модуль через те, modprobe uvcvideoякщо хочу повторно включити веб-камеру.

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


0

Я б запропонував вам бігти

sudo update-initramfs -u

після зміни вашого чорного списку. Це оновить ваш початковий ramdisk.


Ні, це не спрацювало
Марк Гауптман

0

У випадку, якщо ви шукали рішення в одній інструкції командного рядка, це може бути корисним (виходячи з цієї відповіді ):

Щоб вимкнути камеру до перезавантаження, скористайтеся цією командою:

sudo modprobe -r uvcvideo

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

sudo rmmod -f uvcvideo

Щоб знову ввімкнути веб-камеру, введіть оболонку:

sudo modprobe uvcvideo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.