gphoto2: Не вдалося претендувати на USB-пристрій


11

Я намагаюся використовувати My Canon 100D як веб-камеру на Ubuntu 17.10.

Я намагаюся запустити:

gphoto2 --capture-movie

Я повертаю помилку:

У бібліотеці io сталася помилка (" Не вдалося претендувати на USB-пристрій "): Не вдалося попросити інтерфейс 0 (зайнятий пристрій або ресурс). Переконайтесь, що жодна інша програма (gvfs-gphoto2-том-монітор) або модуль ядра (наприклад, sdc2xx, stv680, spca50x) не використовує пристрій, і ви читали / записували доступ до пристрою.

Камера виявляється системою - я можу передати дані з неї.

Також lsusbпоказано цей пристрій:

Шина 001 Пристрій 020: ID 04a9: 3270 Canon, Inc.

Досить багатослівний опис, але це воно.

Можливо, я повинен ... Так, з чого почати?


Чи є у вашої камери якийсь режим веб-камери чи подібний? Якщо ні, то очікуйте, що він не працюватиме так, як ви хочете, і так само, як типовий пристрій масового зберігання, яким операційна система «бачить» його і більше нічого.

Існує багато камер, підтримуваних gphoto2 . Це дійсно круто, оскільки якість перевершує типову веб-камеру.
PeterM

Відповіді:


13

Виявилося, що насправді 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 (ідентифікатор процесу), вбийте їх:

kill -9 25802
kill -9 25814

Тепер gphoto2 тепер може підключитися до камери.


Що робити, якщо процес "gvfs-gphoto2-volume-monitor" продовжує запускатися знову? Чи нам завжди вручну вбивати процес?
Зітир

Це гарне запитання. Я не знаю, як її видалити із запуску. Не соромтеся задати інше питання або покращити цю відповідь, якщо ви це зрозумієте.
PeterM

0

Відповідь 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.