Je souhaite désactiver la webcam interne de mon ordinateur portable sous Ubuntu 13.10? Comme suggéré ici , j'ai déjà désactivé les modules du noyau concernés en les mettant en liste noire. Mais après le redémarrage, les modules sont chargés quand même. Que puis-je faire pour me débarrasser de ces modules?
Ma liste noire de modules se trouve dans /etc/modprobe.d/blacklist-webcam.conf
et ressemble à ceci:
blacklist videodev
blacklist videobuf2_core
blacklist videobuf2_memops
blacklist videobuf2_vmalloc
blacklist uvcvideo
Mais lsmod
me donne (après le redémarrage):
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
Modifier:
Quand je fais un Sudo modprobe -r uvcvideo
les modules sont partis. Je pourrais donc écrire un script pour le faire. Mais je ne considérerais pas cela comme une solution propre ;-)
Merci beaucoup à tous pour votre aide! J'ai trouvé la source du problème en essayant solution de bain . Sa solution fonctionne bien. Après le redémarrage, les modules avaient vraiment disparu. Mais il y a un inconvénient: je ne peux pas charger le module via modprobe uvcvideo
si je veux réactiver la webcam.
En fouillant dans mon système pour découvrir pourquoi le module uvcvideo
avait été chargé, j'ai finalement créé un grep -r uvcvideo /etc/
et voilà, j'ai trouvé un script dans /etc/pm/power.d
qui a procédé à un modprobe uvcvideo
lorsque le câble d'alimentation est branché. J'ai écrit ce script il y a quelque temps pour optimiser la consommation d'énergie. J'ai commenté les lignes concernant le module webcam et après cela, la liste noire a fonctionné!
blacklist videodev
en install videodev /bin/false
update-initramfs -u
reboot
Pour plus de détails, voir Liste noire des modules du noyau sur Arch Wiki :
Liste noire
La mise en liste noire, dans le contexte des modules du noyau, est un mécanisme permettant d'empêcher le chargement du module du noyau. Cela peut être utile si, par exemple, le matériel associé n’est pas nécessaire ou si le chargement de ce module pose des problèmes: par exemple, deux modules du noyau peuvent essayer de contrôler le même matériel, et les charger ensemble entraînerait une conflit.
Certains modules sont chargés dans le cadre d'initramfs.
mkinitcpio -M
imprimera tous les modules détectés automatiquement: pour empêcher les initramfs de charger certains de ces modules, mettez-les en liste noire dans /etc/modprobe.d/modprobe.conf. Lancermkinitcpio -v
listera tous les modules tirés par les différents hooks (par exemple hook de systèmes de fichiers, hook de bloc, etc.). N'oubliez pas d'ajouter ce fichier .conf à la section FILES du fichier /etc/mkinitcpio.conf, si vous ne l'avez pas déjà fait, et de reconstruire le fichier initramfs une fois que vous avez mis les modules sur une liste noire, puis redémarrez.Utilisation de fichiers dans /etc/modprobe.d/
Créez un fichier .conf dans /etc/modprobe.d/ et ajoutez une ligne pour chaque module que vous souhaitez ajouter à la liste noire, à l'aide du mot clé blacklist. Si, par exemple, vous souhaitez empêcher le chargement du module pcspkr:
/etc/modprobe.d/nobeep.conf # Do not load the 'pcspkr' module on boot. blacklist pcspkr
Remarque: la commande blacklist mettra un module en liste noire afin qu'il ne soit pas chargé automatiquement, mais le module peut être chargé si un autre module non répertorié dépend de celui-ci ou s'il est chargé manuellement.
Toutefois, il existe une solution de contournement pour ce problème; La commande install demande à modprobe d'exécuter une commande personnalisée au lieu d'insérer le module dans le noyau comme d'habitude. Vous pouvez donc forcer le module à toujours échouer lors du chargement avec:
/etc/modprobe.d/blacklist.conf ... install module_name /bin/false ...
Ce sera effectivement une liste noire de ce module et de tout autre qui en dépend.
Il suffit de mettre la liste des modules dans /etc/modprobe.d/blacklist.uvcdrver.conf. Le nom du fichier peut être n'importe quoi. Assurez-vous simplement que le format et les autorisations sont corrects.
Je vous suggère de courir
Sudo update-initramfs -u
après avoir modifié votre liste noire. Cela mettra à jour votre disque virtuel initial.
Dans le cas où vous cherchiez une solution dans une instruction de ligne de commande, cela pourrait être utile (sur la base de cette réponse ):
Pour désactiver la caméra jusqu'au redémarrage, utilisez cette commande:
Sudo modprobe -r uvcvideo
Tapez votre mot de passe et si aucune erreur ne s'affiche dans le terminal, votre webcam devrait être désactivée. Si le message d'erreur suivant s'affiche: modprobe: FATAL: le module uvcvideo est en cours d'utilisation, vous pouvez essayer de forcer sa suppression avec:
Sudo rmmod -f uvcvideo
Pour réactiver votre webcam, tapez dans Shell:
Sudo modprobe uvcvideo