Par ebdomino, le 19/04/2004
Le problème est simple, l'appareil photo numérique (apn), est reconnu en user et en root, mais seul root peut récupèrer les photos. L'erreur rencontrée: la commande gphoto2 --debug --list-files
Voici la sortie de cette commande en user je l'ai volontairement épuré:
gphoto2 --debug --list-files
0.000226 main(2): TOUJOURS FOURNIR LES LIGNES CI-DESSOUS LORS DE L'ENVOI DE MESSAGE(S) DE DÉBOGAGE À LA LISTE DE DIFFUSION : [...] 0.000984 main(2): gphoto2 2.1.4 0.009157 gphoto2-camera(2): Listing files in '/'... 0.010199 gphoto2-camera(2): Initializing camera... 0.015544 gphoto2-port-usb(1): Looking for USB device (vendor 0x3f0, product 0x6a02)... found. 0.015906 gphoto2-port-usb(1): Detected defaults: config 1, interface 0, altsetting 0, inep 83, outep 04, intep 85, class 06, subclass 01 0.016361 gphoto2-camera(2): Loading '/usr/lib/gphoto2/2.1.4/libgphoto2_ptp2.so'... 0.017073 gphoto2-port(2): Opening USB port... 0.017935 gphoto2-port(0): Impossible d'utiliser l'interface 0 (Opération non permise). Assurez-vous qu'aucun programme ou module noyau (par ex. dc2xx ou stv680) n'utilise le périphérique et que vous avez bien accès en lecture/écriture au descripteur de périphérique. 0.018921 context(0): Une erreur est intervenue dans la bibliothèque d'entrée-sortie ('Impossible d'utiliser le périphérique USB'): Impossible d'utiliser l'interface 0 (Opération non permise). Assurez-vous qu'aucun programme ou module noyau (par ex. dc2xx ou stv680) n'utilise le périphérique et que vous avez bien accès en lecture/écriture au descripteur de périphérique. *** Erreur *** Une erreur est intervenue dans la bibliothèque d'entrée-sortie ('Impossible d'utiliser le périphérique USB'): Impossible d'utiliser l'interface 0 (Opération non permise). Assurez-vous qu'aucun programme ou module noyau (par ex. dc2xx ou stv680) n'utilise le périphérique et que vous avez bien accès en lecture/écriture au descripteur de périphérique. *** Erreur (-53: 'Impossible d'utiliser le périphérique USB') *** [...] 0.023528 gp-camera(2): Freeing camera... 0.023814 gphoto2-port(2): Freeing port... 0.024052 gphoto2-port(2): Closing port... 0.024398 gphoto2-port(0): Impossible de relâcher l'interface 0 (Opération non permise). 0.024874 libgphoto2/gphoto2-filesys.c(2): Clearing fscache LRU list... 0.025200 libgphoto2/gphoto2-filesys.c(2): fscache LRU list already empty 0.025522 gphoto2-filesystem(2): Internally deleting all folders from '/'...
Voila le début de la sortie en root
0.008224 foreach(2): Executing action 'List Files' for folder '/'. 0.009202 gphoto2-camera(2): Listing files in '/'... 0.010248 gphoto2-camera(2): Initializing camera... 0.010729 gphoto2-port-usb(1): Looking for USB device (vendor 0x3f0, product 0x6a02)... found. 0.011111 gphoto2-port-usb(1): Detected defaults: config 1, interface 0, altsetting 0, inep 83, outep 04, intep 85, class 06, subclass 01 0.011570 gphoto2-camera(2): Loading '/usr/lib/gphoto2/2.1.4/libgphoto2_ptp2.so'... 0.012372 gphoto2-port(2): Opening USB port... 0.013014 gphoto2-port(2): Setting timeout to 8000 millisecond(s)... 0.013420 ptp(2): PTP: Opening session 0.013689 gphoto2-port(2): Writing 16=0x10 byte(s) to port... 0.013983 gphoto2-port(3): Hexdump of 16 = 0x10 bytes follows: 0000 10 00 00 00 01 00 02 10-00 00 00 00 01 00 00 00 ...............
Les photos sont donc accessibles en root mais pas pour l'user.
/usr/lib/libgphoto2-2/print-usb-usermap > /etc/hotplug/usb/usbcam.usermap
Cela va créer un fichier de configuration, pour les appareils photo numériques usb, pour hotplug. 2/Vous devez créer un script de gestion de votre apn et de ses droits en choisissant et en éditant un des scripts présents dans: /usr/share/doc/libgphoto2-2/linux-hotplug
Vous avez le choix entre quatre scripts (je vous laisse
lire les commentaires sur le lien suscité, ils sont tres
clair), pour ma part j'ai pris celui qui me permettais, d'utiliser
une interface graphique sous X, comme gtkam ou digikam:
usbcam.x11-app.
Copiez celui de votre choix dans /etc/hotplug/usb/ en
le renommant usbcam
cp -a /usr/share/doc/libgphoto2-2/linux-hotplug/usbcam.x11-app /etc/hotplug/usb/usbcam
Ensuite éditez le et configurez le à votre convenance, voici les modifications apportées au mien.
#!/bin/bash # $Id: usbcam.x11-app,v 1.3 2003/10/30 16:27:08 hun Exp $ # # /etc/hotplug/usb/usbcam # # Sets up newly plugged in USB camera so that just one certain user #ici j'ai remplacé root par l'user pour avoir acces à l'appareil USER=eb # can access it from user space. (Replace root by the user you want # to have access to the cameras.) # It then runs the X11 application (gtkam is used as an example) #ici je choisis l'application graphique pour gérer l'appareil, par défaut gtkam, mais pour moi digikam. X11_APP=/usr/bin/digikam [...]
Dernière étape rendre le script éxécutable
chmod +x /etc/hotplug/usb/usbcam
Et voila c'est terminé, branchez votre apn, et cela va lancer l'application choisie, vous n'avez plus qu'a faire des films et des photos.