Im trying to use My Canon 100D as a webcam on Ubuntu 17.10.

Whether I try to launch:

gphoto2 --capture-movie

I returns error:

An error occurred in the io-library ('Could not claim the USB device'): Could not claim interface 0 (Device or resource busy). Make sure no other program (gvfs-gphoto2-volume-monitor) or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device.

Camera is detected by system - I can transfer data from it.

Also lsusb shows this device:

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

Pretty verbose description, but it is it.

Perhaps I should... Yes, where to start?

  • Does your camera have any webcam mode or similar? If not then expect it not to work as you want and just as the typical mass storage device which is how the OS will "see" it and nothing else. – user692175 Jan 9 '18 at 12:06
  • There are many cameras supported by gphoto2. This is really cool, as the quality is superior to typical webcam. – PeterM Jan 9 '18 at 17:43

It turned out that that in fact there was gvfs-gphoto2-volume-monitor process in the background.

Run ps aux | grep gphoto, which might have output like:

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

First colums is PID (process id), kill them:

kill -9 25802
kill -9 25814

Now gphoto2 can now connect to camera.

  • What to do if the "gvfs-gphoto2-volume-monitor" process keeps starting again? DO we have to manually always kill the process? – Zythyr Aug 21 '18 at 17:49
  • That's a good question. I don't know how to remove it from startup. Feel free to ask another question, or improve this answer if You figure out this. – PeterM Aug 21 '18 at 20:40
  • What is the purpose of "gvfs-gphoto2-volume-monitor"? I assume it is running for a reason, and might provide something useful? – Quigi Jan 18 at 1:39

PeterM's answer works in principle. To make it simpler and quicker I propose the following procedure:

First find all processes which are related to 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

if they are the ones shown above you can safely kill these

pkill -f gphoto2

and happily take pictures

gphoto2 --capture-image-and-download --filename pic0001.jpg
  • love it - much easier – Ulad Kasach Jun 10 '20 at 17:04
  • in fact this is my standard procedure for killing stuff i might have to rerun. Quite a few of my scripts are using this approach ... – Wolfgang Fahl Oct 26 '20 at 11:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.