我正在尝试在 Ubuntu 17.10 上将我的佳能 100D 用作网络摄像头。
每当我尝试启动时:
gphoto2 --capture-movie
我返回此错误:
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.
系统检测到了相机,我可以从中传输数据。
还lsusb
显示了此设备:
Bus 001 Device 020: ID 04a9:3270 Canon, Inc.
非常冗长描述,但就是这样。
也许我应该...是的,从哪里开始呢?
答案1
事实证明,gvfs-gphoto2-volume-monitor
后台确实有一个进程。
运行ps aux | grep gphoto
,可能会有如下输出:
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
第一列是 PID (进程 ID),杀死它们:
kill -9 25802
kill -9 25814
现在 gphoto2 可以连接到相机了。
答案2
PeterM 的答案原则上是可行的。为了使其更简单、更快捷,我建议采用以下步骤:
首先找到与 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
如果它们是上面显示的,你可以安全地杀死它们
pkill -f gphoto2
并开心地拍照
gphoto2 --capture-image-and-download --filename pic0001.jpg
答案3
如果您的 SD 卡上安装了魔灯,则必须移除该 SD 卡才能使其工作。