gphoto2: Impossibile rivendicare il dispositivo USB


11

Sto cercando di usare la mia Canon 100D come webcam su Ubuntu 17.10.

Se provo a lanciare:

gphoto2 --capture-movie

I restituisce errore:

Si è verificato un errore nella libreria io (" Impossibile rivendicare il dispositivo USB "): Impossibile rivendicare l'interfaccia 0 (Dispositivo o risorsa occupata). Assicurarsi che nessun altro programma (gvfs-gphoto2-volume-monitor) o modulo del kernel (come sdc2xx, stv680, spca50x) stia utilizzando il dispositivo e che si abbia accesso in lettura / scrittura al dispositivo.

La fotocamera viene rilevata dal sistema: posso trasferire dati da essa.

lsusbMostra anche questo dispositivo:

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

Descrizione piuttosto dettagliata , ma è così.

Forse dovrei ... Sì, da dove cominciare?


La tua fotocamera ha una modalità webcam o simile? In caso contrario, aspettati che non funzioni come desideri e proprio come il tipico dispositivo di archiviazione di massa che è come il sistema operativo lo "vedrà" e nient'altro.

Ci sono molte fotocamere supportate da gphoto2 . Questo è davvero fantastico, in quanto la qualità è superiore alla tipica webcam.
PeterM

Risposte:


13

Si è scoperto che in realtà c'era un gvfs-gphoto2-volume-monitorprocesso in background.

Esegui ps aux | grep gphoto, che potrebbe avere output come:

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

La prima colonna è PID (ID processo), uccidili:

kill -9 25802
kill -9 25814

Ora gphoto2 ora può connettersi alla fotocamera.


Cosa fare se il processo "gvfs-gphoto2-volume-monitor" continua a ricominciare? Dobbiamo sempre uccidere manualmente il processo?
Zythyr,

Questa è una bella domanda. Non so come rimuoverlo all'avvio. Sentiti libero di fare un'altra domanda o migliora questa risposta se lo capisci.
PeterM,

0

La risposta di PeterM funziona in linea di principio. Per semplificare e velocizzare, propongo la seguente procedura:

Innanzitutto trova tutti i processi correlati a 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

se sono quelli mostrati sopra puoi tranquillamente ucciderli

pkill -f gphoto2

e fotografare felicemente

gphoto2 --capture-image-and-download --filename pic0001.jpg
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.