PupCamera digital camera access

I reported about automatic detection when a digital camera is connected to the computer via a USB cable, and a basic GUI for accessing the photos:

Dougal has already done some work in this direction, and Jemimah sent me a tarball of what Dougal had created. It was very useful to study what Dougal has done.

Dougal created udev rules for each type of camera that Gphoto understands, but that will need to be updated regularly -- so, I have retained the single-line udev rule as described in my previous blog post.

Dougal used the 'gphoto2' utility to access the photos, however 'gphotofs' works well, at least on my camera, so I have stayed with the latter.

I have added some "bells and whistles" to my application, and now it's name is PupCamera. It pops up when a camera is connected to the computer, but can also be run from the Graphic menu. Here is a snapshot:

It works so nicely, and if it is also successful with other cameras then I will be mighty pleased. I don't want to pull out the files separately, please wait, the next Wary or Racy will be out very soon with PupCamera in it.

Posted on 8 Oct 2011, 11:35


Posted on 8 Oct 2011, 16:40 by Sage
Attention to nomenclature
PupCamera is good! Anything that says '*cam', 'cam*', ditto 'kam' suggests webcam. Inexactitude has long been the marque of Linux apps.

A propos any-c/kam-thing, this may be of interest:
A more skilled Puupy user than I also could not master its incorporation, requiring the hand of the maestro.

Posted on 8 Oct 2011, 17:31 by BarryK
Added usbutils
I have decided to include usbutils in the next Wary and Racy, and have extended PupCamera to optionally provide extra information. Here is a snapshot of latest version:

Posted on 8 Oct 2011, 18:48 by aragon2
You might also look at


For udev info.


Posted on 8 Oct 2011, 22:05 by Dougal
Barry, note that the udev rule with all the supported cameras should be generated by you with /usr/lib/libgphoto2/print-camera-list, so that it matches the version of libgphoto2 you have (mine is
The camera name can probably be got with udevd (I use ID_MODEL in my scripts).

Posted on 9 Oct 2011, 4:30 by Dougal
libgphoto-rules cont.
Barry, I think you missed something with this: the libgphoto2 udev rules file is supposed to be part of the **libgphoto2** package, generated when you compile libgphoto2, so when a new version is installed it gets updated...

Posted on 9 Oct 2011, 7:14 by BarryK
libgphoto rules
Yes, I realised that after reading the link that aragon2 posted -- thanks for that.

So, I can automated creation of the udev rules in Woof, however I am very curious to find out how well my one-line udev rule holds up for others, so I will leave that there for the next beta of Wary/Racy.

One good thing about my one-line udev rule is that it will cause PupCamera to popup for anything that the kernel determines is a "still camera" type, even those not supported by Gphoto -- PupCamera runs a probe with gphoto2 and will then report that the camera is not supported.

So, instead of plugging in their camera and nothing happening, at least the user will be informed that Puppy cannot access the camera.

Posted on 22 Oct 2011, 11:53 by 01micko
Working like a beauty in slacko-rc2.. (to be released shortly)

fiji finepix f6500 fd

Posted on 22 Oct 2011, 12:08 by 01micko
quick comparison
Gtkam does work ok in slacko with my fuji. I compiled it on slacko (libs too) so it can go to the repo.

Pupcamera is much faster and simpler, a great little app Barry!


Posted on 22 Oct 2011, 16:57 by Iguleder1
Also, quick note for developers - never use the gphoto2 package from another distro, they have many dependencies.

Debian's is about 1 MB (without the dependencies) and my builds use a 32 KB package built automatically.

Here's what you see in Debian:
Architecture 	Package Size 	Installed Size 	Files

i386 203.1 kB 992.0 kB [list of files]

And here's our package:
32K    gphoto2-2.4.5.pet

8.0K gphoto2_DOC-2.4.5.pet
148K gphoto2_NLS-2.4.5.pet