From ArchWiki
Revision as of 23:51, 1 April 2012 by Mitch feaster (talk | contribs) (GPhoto2: cleaning up installation section)
Jump to: navigation, search

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary end


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.

Note: As of libgphoto2 version 2.14.13, users do not need to be part of the camera group.


Libgphoto2 is the core library designed to allow access to digital cameras by external (front end) programs, such as Digikam and gphoto2. The current 'officially' supported cameras are here though more may (probably) work.

Installation and Configuration

Core library:

# pacman -S libgphoto2

(Optional) gvfs (for Nautilus integration):

# pacman -S gvfs-gphoto2

(Optional) Command line interface:

# pacman -S gphoto2

Permission issues

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: The camera group has been deprecated so many of these instructions may no longer be relevant. (Discuss in Talk:Libgphoto2#)

If you receive permission issues type this in as well, still as root:

# /usr/lib/libgphoto2/print-camera-list udev-rules mode 0660 version 0.98 group camera > /etc/udev/rules.d/90-libgphoto2.rules

If after following all of these steps you still have access issues, try editing /etc/udev/rules.d/90-libgphoto2.rules and change the PROGRAM= line near the bottom to the following:

PROGRAM="/lib/udev/check-ptp-camera", MODE="0660", GROUP="camera"

If your camera is not present in any udev rule, you can check vendor and product id and add it. To check it just run:

# lsusb
Bus 001 Device 005: ID 04a9:318e Canon, Inc.

I prefer to put any local udev rules to /etc/udev/rules.d/90-local.rules to make sure it would not be overwritten by new packages.

PROGRAM="/lib/udev/check-ptp-camera", MODE="0660", GROUP="camera"
ATTRS{idVendor}=="04a9", ATTRS{idProduct}=="318e", MODE="0660",  GROUP="camera"

To changes take effect you need to restart udevd

# killall udevd && udevd -d

Now after plugin your camera you can check if permission looks okay by running:

# ls -lR /dev/bus/usb
Tip: It may be easier to reboot.

GPhoto2 Usage

GPhoto2 is a command line client for libgphoto2. GPhoto2 allows access to the libgpohoto2 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 --summary
  • gphoto2 --list-files
  • gphoto2 --get-all-files

For advanced file manipulation, use

  • gphoto2 --shell

Frontend (external) Applications for GPhoto2

Miscellaneous Troubleshooting


You should make sure the user to which you would like to grant access to the camera is part of the storage group.

Wiki Articles Relating to Photo/Cameras

  • Jalbum - Freeware for creating professional albums/galleries.
  • HCL/Digital Cameras - Partial list of supported cameras for gphoto2