Я пытаюсь использовать My Canon 100D в качестве веб-камеры в Ubuntu 17.10.
Я пытаюсь запустить:
gphoto2 --capture-movie
Я возвращаю ошибку:
В io-библиотеке произошла ошибка (' Не удалось запросить устройство USB '): не удалось запросить интерфейс 0 (устройство или ресурс занят). Убедитесь, что никакая другая программа (gvfs-gphoto2-volume-monitor) или модуль ядра (например, sdc2xx, stv680, spca50x) не используют устройство, и у вас есть доступ для чтения / записи к устройству.
Камера обнаружена системой - я могу передавать с нее данные.
Также lsusb
показывает это устройство:
Шина 001 Устройство 020: ID 04a9: 3270 Canon, Inc.
Довольно подробное описание, но это оно.
Возможно, мне следует ... Да, с чего начать?
Оказалось, что на самом деле был 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 теперь может подключаться к камера.
Ответ 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