gPhoto

From ArchWiki

Libgphoto2 is the core library designed to allow access to digital cameras by external (front-end) programs, such as digiKam and gPhoto2. List of officially supported cameras is available on the official website (though more may work).

This article documents the configuration of libgphoto2 to access digital cameras. Some digital cameras will mount as normal USB storage devices and may not require the use of libgphoto2.

Installation

Install the libgphoto2 package, and optionally gphoto2 to have a command line interface.

Mount

  • gphotofsFuse module to mount camera as a filesystem.
http://www.gphoto.org/proj/gphotofs/ || gphotofsAUR
  • gvfs-gphoto2 — GPhoto2 backend for GVfs to mount camera as a filesystem from a file manager that supports GVfs such as GNOME Files, Nemo, PCManFM and Thunar. Part of gnome.
https://wiki.gnome.org/Projects/gvfs || gvfs-gphoto2
  • KameraKDE integration for gPhoto2 cameras. Provides a configuration tool and a KIO worker to read and write to camera devices. Part of kde-graphics.
https://apps.kde.org/kamera/ || kamera

Frontend applications

  • Darktable — Utility to organize and develop raw images.
https://darktable.org/ || darktable
  • digiKam — Digital photo management application for KDE.
https://www.digikam.org/ || digikam
  • Entangle — Provides a graphical interface for “tethered shooting”, aka taking photographs with a digital camera completely controlled from the computer.
https://entangle-photo.org/ || entangleAUR
https://wiki.gnome.org/action/show/Apps/Gthumb || gthumb
  • GTKam — Graphical GTK 2 front-end to gPhoto2.
http://www.gphoto.org/proj/gtkam/ || gtkamAUR
  • Pantheon Photos — Image viewer for Pantheon.
https://launchpad.net/pantheon-photos || pantheon-photos
  • Rapid Photo Downloader — Download photos and videos from cameras, memory cards and portable storage devices.
https://www.damonlynch.net/rapid/ || rapid-photo-downloader
  • Rawstudio — An open source raw-image converter written in GTK. Supports tethered shooting with gPhoto2.
https://rawstudio.org/[dead link 2024-07-30 ⓘ] || rawstudioAUR
https://wiki.gnome.org/Apps/Shotwell || shotwell

GPhoto2 usage

GPhoto2 is a command line client for libgphoto2. GPhoto2 allows access to the libgphoto2 library from a terminal or from a script shell to perform any camera operation that can be done. This is the main user interface.

GPhoto2 also provides convenient debugging features for camera driver developers.

Quick Commands

  • gphoto2 --list-ports
  • gphoto2 --auto-detect
  • gphoto2 --abilities
  • gphoto2 --summary
  • gphoto2 --list-files
  • gphoto2 --get-all-files
  • gphoto2 --capture-image-and-download
  • gphoto2 --set-config datetime=now - sets the camera to the current time

For advanced file manipulation, use

  • gphoto2 --shell
Tip: With gphoto2 --capture-movie it is possible to use supported cameras as a webcam. See v4l2loopback#Using a photo camera as webcam with gPhoto for details.

Example usage with GVfs

Auto detect the connected camera and list the required port:

$ gphoto2 --auto-detect
Model                          Port
----------------------------------------------------------
Canon Digital IXUS 980 IS      usb:006,011

Now open your favorite file manager and enter the address with the found port detail gphoto2://[usb:006,011]. File manager functionality#Mounting will use gvfs to get the camera mounted and manageable with the file manager.

Troubleshooting

Permission issues

Users with a local session have permissions granted for cameras using ACLs. See General troubleshooting#Session permissions if it does not work.

Claimed device

Your system might automatically mount the camera as a file system and then some gphoto2 commands output the error message "cannot claim device". In this case unmount the camera using your file browser or run:

$ gio mount -s gphoto2