Je cherche un moyen de désactiver la webcam intégrée à mon ordinateur portable. La webcam utilise le module uvcvideo mais je ne veux pas le mettre sur liste noire car il est également utilisé par une webcam externe que j'ai.
Existe-t-il un moyen de désactiver l'appareil lui-même sans toucher à la liste des modules?
Voici comment les webcams sont répertoriées par lsusb. Le premier est un intégré (il est identifié par certaines applications comme BisonCam NB Pro), le second est le Logitech C525 externe:
Bus 002 Device 004: ID 5986:0361 Acer, Inc
Bus 003 Device 002: ID 046d:0826 Logitech, Inc.
J'ai déjà vérifié le BIOS - il n'y a aucun moyen de désactiver la webcam à partir de là. De plus, j'aimerais apprendre de toute façon comment désactiver l'appareil par ID.
Merci!
Réponses:
C'est assez simple. Le travail acharné consiste à déterminer le chemin vers le périphérique USB. Nous devons commencer par trouver quel appareil nous voulons désactiver. Nous pouvons le faire avec
lsusb
:Remplacez 1-6 par les ports de votre appareil à désactiver. Le port n'est souvent pas logique (c'est physique) mais vous pouvez obtenir un mappage de port avec
lsusb -t
. Une fois que vous pensez l'avoir, vous pouvez le tester avec:Cela me donne
0402
et5602
pour le bon dispositif (comme indiqué dans l' ID du fabricant et de produitslsusb
).Maintenant que nous l'avons trouvé, le désactiver est simple:
Après vous être assuré qu'il fonctionne comme vous le souhaitez, faites-le charger à chaque démarrage (par exemple, dans
/etc/rc.local
.)la source
echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
avec sudo, cela ne fonctionne pas. La valeur ne reste pas là, le fichier ne contient rien. La webcam fonctionne toujours.echo "0" > /sys/bus/usb/devices/1-6/bConfigurationValue
ligne à/etc/rc.local
.@surjack:
1-6
dépend de la cartographie de votre port. Si vous tapez,lsusb -t
vous l'obtiendrez, puis le comparerez avec la sortie delsusb
. Pour moi, j'obtiens les sorties suivantes:et
Maintenant, il suffit de trouver le bon bus qui est
04
dans mon cas, carAcer, Inc
c'est la caméra. Le mappage de port montre que la caméra se trouve àBus 04.Port 1
. Cela signifie qu'au lieu d'utiliser,1-6
je dois utiliser4-1
. Je ne suis pas un expert Linux / Ubuntu mais cela me donne l'impression que vous devez utiliserBus-Port
et simplement utiliser les chiffres. Si vous voulez être sûr à 100%, utilisez lacat
commande comme décrit:et le comparer avec lsusb.
Dans mon cas:
qui est identique à la sortie de lsusb:
5986:0525
.Vous avez maintenant trouvé votre webcam interne.
Mais malheureusement, lysdexia a raison et la commande echo ne fonctionne pas car
Permission denied
.Y a-t-il une autre solution disponible?
la source
sudo -i
et plus tardecho "0" > ...
.sudo echo "0" > sudo /sys/bus/usb/devices/...
Si vous souhaitez activer uniquement celui externe lorsqu'il est connecté, mais que celui interne est activé si celui externe n'est pas connecté, voici un script pour cela. Il est basé sur la réponse de Wildneuro, mais peut déterminer le chemin de l'appareil pour vous en fonction de l'ID.
Je l'utilise car certaines applications dont je dépend ne semblent pas offrir un moyen de choisir facilement votre appareil photo préféré. Vous pouvez facilement personnaliser avec vos propres identifiants de caméra (à partir de
lsusb
).Code ici: https://gist.github.com/shimon/12cd1080fb8669549aadc2b5408922bc
la source