gphoto2: no se pudo reclamar el dispositivo USB

11

Estoy tratando de usar My Canon 100D como cámara web en Ubuntu 17.10.

Si trato de lanzar:

gphoto2 --capture-movie

Devuelvo el error:

Se produjo un error en la biblioteca io (' No se pudo reclamar el dispositivo USB '): No se pudo reclamar la interfaz 0 (Dispositivo o recurso ocupado). Asegúrese de que ningún otro programa (gvfs-gphoto2-volume-monitor) o módulo del núcleo (como sdc2xx, stv680, spca50x) esté utilizando el dispositivo y que tenga acceso de lectura / escritura al dispositivo.

El sistema detecta la cámara: puedo transferir datos desde ella.

También lsusbmuestra este dispositivo:

Bus 001 Dispositivo 020: ID 04a9: 3270 Canon, Inc.

Descripción bastante detallada , pero lo es.

Quizás debería ... Sí, ¿por dónde empezar?

PeterM
fuente
¿Su cámara tiene algún modo de cámara web o similar? Si no es así, espere que no funcione como lo desea y como el típico dispositivo de almacenamiento masivo que es como el SO lo "verá" y nada más.
Hay muchas cámaras compatibles con gphoto2 . Esto es realmente genial, ya que la calidad es superior a la cámara web típica.
PeterM

Respuestas:

13

Resultó que, de hecho, había un gvfs-gphoto2-volume-monitorproceso en segundo plano.

Ejecutar ps aux | grep gphoto, que podría tener resultados como:

peter    25802  2.1  0.1 302504  8736 ?        Ssl  13:10   0:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
peter    25814  2.2  0.1 441508 11176 ?        Sl   13:10   0:00 /usr/lib/gvfs/gvfsd-gphoto2 --spawner :1.3 /org/gtk/gvfs/exec_spaw/21
peter    25835  0.0  0.0  22676  1096 pts/0    S+   13:10   0:00 grep --color=auto gphoto

Las primeras columnas son PID (identificación del proceso), elimínelas:

kill -9 25802
kill -9 25814

Ahora gphoto2 ahora puede conectarse a la cámara.

PeterM
fuente
¿Qué hacer si el proceso "gvfs-gphoto2-volume-monitor" sigue comenzando de nuevo? ¿Tenemos que matar manualmente siempre el proceso?
Zythyr
Buena pregunta. No sé cómo eliminarlo del inicio. Siéntase libre de hacer otra pregunta o mejorar esta respuesta si se da cuenta de esto.
PeterM
0

La respuesta de PeterM funciona en principio. Para hacerlo más simple y rápido, propongo el siguiente procedimiento:

Primero encuentre todos los procesos relacionados con gphoto2

pgrep -fla gphoto2
1236 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
1345 /usr/lib/gvfs/gvfsd-gphoto2 --spawner :1.4 /org/gtk/gvfs/exec_spaw/1

si son los que se muestran arriba, puedes matarlos con seguridad

pkill -f gphoto2

y felizmente tomar fotos

gphoto2 --capture-image-and-download --filename pic0001.jpg
Wolfgang Fahl
fuente