Allumer une webcam (commande)

Bonjour!
Petit défi : comment allumer une webcam via une ligne de commande? Cette commande devrait avoir le même effet que la combinaison de touches FN+F10.
Ça serait pratique via ssh…

un peu léger comme cahier des charges …
Quel type de webcam ?
On ne te demandera pas quelle cam tu veux activer à distance, à l’insu de l’utilisateur (trice) …
a la seule condition que tu la mettes en ligne :laughing:

Ce n’est pas à l’insu de quelqu’un puisque c’est une machine qui m’appartient :slightly_smiling: .
Bon, je complète alors. C’est une webcam intégrée à mon pc portable. Je cherche une commande à exécuter pour allumer la webcam.

Au démarrage du pc portable, la webcam est éteinte :

lsusb ~ Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Lorsque j’appuie sur fn+F10 :

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 002 Device 009: ID 5986:0315 Acer, Inc
Et dans le syslog :

Jun 2 20:20:45 Lothlorien kernel: [ 8968.886228] usb 2-1.6: new high-speed USB device i_hcd Jun 2 20:20:45 Lothlorien kernel: [ 8969.036255] usb 2-1.6: New USB device found, idV t=0315 Jun 2 20:20:45 Lothlorien kernel: [ 8969.036266] usb 2-1.6: New USB device strings: M ialNumber=0 Jun 2 20:20:45 Lothlorien kernel: [ 8969.036272] usb 2-1.6: Product: BisonCam, NB Pro Jun 2 20:20:45 Lothlorien kernel: [ 8969.036277] usb 2-1.6: Manufacturer: BISON Corpo Jun 2 20:20:45 Lothlorien kernel: [ 8969.074460] uvcvideo: Found UVC 1.00 device Biso 315) Jun 2 20:20:45 Lothlorien kernel: [ 8969.121519] input: BisonCam, NB Pro as /devices/ d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input19 Jun 2 20:20:45 Lothlorien udevd[17292]: failed to execute '/lib/udev/mtp-probe' 'mtp- ci0000:00/0000:00:1d.0/usb2/2-1/2-1.6 2 10': No such file or directory
La webcam est alors allumée. Donc fn+F10 est un interrupteur matériel.

Lorsque je cherche un éventuel évènement (afin de lancer un raccouci avec xdotools par exemple) avec xev, c’est comme si je ne faisais rien lorsque j’appuie sur fn+F10. Pourtant, cette combinaison active/éteint la webcam.

Autre point, sur le salon jabber debian-fr, il m’a été proposé de regarder la piste d’acpi, qui pourrait permettre d’allumer la webcam au même titre que fn+F10.

J’allais te proposer la même chose, si linux ne voit rien, c’est que ça se passe au niveau du BIOS de la machine.
Tu as peut étre une option dans celui ci pour allumer la cam au boot.
Sinon effectivement, reste le passage par l’ACPI, mais je n’ai jamais pratiquer (à part pour la hwclock, mais c’est pas vraiment via l’ACPI).

J’ai déja vérifié, et non, il n’y a rien :confused:

Il ne te reste plus qu’a te plonger dans /proc/acpi pour y trouver ta cam.
ser-info-02.ec-nantes.fr/users/i … log/97f17/

Merci pour le lien! J’avoue que je ne savais plus où chercher.

plus exactement, trouver le switch qui allume et éteint la cam.
bon courage :slightly_smiling:

Un truc COOL :

  1. Installer les machins:

aptitude install xmacro

  1. Enregistrer la macro:
xmacrorec -k 9 > macro.rec

Appuyer sur la touche esc pour sortir (keycode: 9)
Pour chopper une autre touche, voir la liste

xmodmap -pke

  1. Jouer la macro:
cat macro.rec | xmacroplay :0

Tu peux aussi modifier le fichier pour y rajouter tes keycodes (en particulier si ton clavier n’a pas les touches adéquat, par ex les touches fn sur un fixe)

Note: il faut avoir X lancé, évidement;

Un truc qui, au feeling, devrait fonctionner:

echo "MotionNotify 403 839 KeyStrPress XF86WebCam KeyStrRelease XF86WebCam | xmacroplay :0

c’est un keylogguer ça!
ben c’est du propre.
Déja qu’il voulait activer la webcam à distance, maintenant il va piquer les coordonnées bancaires :laughing:

Ouais, enfin quand tu fait un xmacrorec, tout ce que tu entres est capturé par le programme, sauf la touche spéciale

Du coup, c’est limite comme keyloger (pas très discret)

Merci je vais tester!

@piratebab : quoi qu’en dise ta femme, tu es une mauvaise langue! :016

Bon, xmacro n’enregistre rien (cette touche n’est vraiment pas reconnue par debian, c’est vraiment qu’un interrupteur matériel on dirait).

Du coup, j’y ai presque cru en découvrant XF86WebCam avec xmodmap -pke, mais non cette touche n’a aucun effet lorsque je lance :

Et je sais pas vous, mais je ne sais pas du tout où chercher pour acpi…

j’aime bien celle-la

ca vient de commandlinefu.com/commands/m … t-by-votes

La touche FN est chiante au possible :unamused:
J’ai passé plusieurs heures à essayer de la “cloner” sur un clavier ‘non portable’ mais je n’ai jamais réussi.
Ce message ne sert à rien sinon à m’inscrire car le résultat m’intéresse.

À propos, j’croyais que pour allumer une cam de portable, il suffisait de l’utiliser
Tu doit avoir du matos exotique (fn + F10, c’est pas pour mute classiquement ?)

Bon, si tu n’arrives pas à trouver le bon keycode (même si j’trouve ca étrange), tu peux tester avec la bonne vieille méthode RACHE:

for keycode in $((cat /usr/include/X11/keysymdef.h ; cat  /usr/include/X11/XF86keysym.h)  | grep '#define' | awk '{print $2}' | sed 's/XK_//')
do
   xdotool key $keycode
   sleep 0.1
done

Et toi, tu restes à coté, et tu regardes si le truc s’allume.
Y’en a que 2200+, ca devrait être asser rapide (j’me demande si y’a la touche powercontrol est dans la liste)
Tu peux aussi commencer par le contenu de /usr/include/X11/XF86keysym.h, seulement, y’en a que 180 et je suppose que le tien est dans la liste.

Bon amusement!

C’est une webcam sans DEL. Le matériel est celui-ci (ça n’a pas trop du évoluer depuis l’achat): [0]

Du coup je vais adapter ta commande avec un lsusb entre temps pour voir si la ligne Bus 002 Device 006: ID 5986:0315 Acer, Inc apparaît.

[0] ldlc.com/fiche/PB00130370.html

Alors, avec /usr/include/X11/XF86keysym.h : aucun résultat
Avec usr/include/X11/keysymdef.h, aucun résultat, mis à part que le test n’aboutit pas car le serveur X est fermé en cours de route…
Est-ce étonnant? Ces codes devraient être captés par xev, et comme il ne comprend rien…

Je met le script utilisé pour si ça peut aider quelqu’un :

#!/bin/sh for keycode in $((cat /usr/include/X11/XF86keysym.h ; cat /usr/include/X11/XF86keysym.h) | grep '#define' | awk '{print $2}' | sed 's/XK_//') do xdotool key $keycode lsusb |grep Acer && echo $keycode done

Je viens de tenter avec la commande showkey en tty : toujours rien :confused:

EDIT : avec acpi_listen, rien non plus -> là, j’ai besoin qu’on m’explique, acpi ne gère pas cet interrupteur! Alors c’est impossible?