So I have bought a wonderful new camera, Canon's EOS 550d, not so long ago. I am a linux user and, as usual, the software delivered with the camera was not compatible with linux. But, also as usual, the mechanisms of open source came to my rescue. There are perfectly good tools developed by enthousiasts.
It all starts with gPhoto2, the project sites states:
gPhoto2 is a free, redistributable, ready to use set of digital camera software applications for Unix-like systems, written by a whole team of dedicated volunteers around the world
The good part is, gPhoto2 supports over 1300 cameras. In other words, almost every mainstream camera (or mobile phone with camera for that matter) is supported. The only large brand that seems to be scarsely supported is Leica with only two officially supported cameras. Luckily for me, the 550d is listed as supported. gPhoto2 is in the ubuntu repositories so a simple aptitude install gphoto2 will install it, and its dependencies (yes, use aptitude, not apt-get).
In the comments Dimitrios Psychogios offers another solution, check it out as well!
Reading files from the camera
The most important functionality I was looking for at this moment, was a way to export the taken photos from my camera. Please note, I could probably have just removed the SDHC card from my camera and insert it in my laptop, I simply chose to use the USB port out of convenience. Since Ubuntu did not recognize the camera by itself I ended up using gPhoto2 and its libraries. For even more convenience, I also installed gtkam, which is a GUI frontend on gphoto2. This is the tool I actually use to retrieve photos from my camera unto my laptop.
Fig. 1: The simple but working interface of gtkam.
I had some trouble getting gPhoto2 and gtkam recognizing my camera. The library behind gPhoto2 was already installed before this process, and I messed around a reasonable amount trying to get stuff to work, so I probably messed something up. After trying out some tips and tricks I used the blunt axe method. I purged gtkam, gPhoto2 and libgphoto2-2, and re-installed them.
This isn't a sophisticated solution but I was anxious at the time and it worked for me. Mind you however, there are other applications that might be removed while removing libgphoto2-2. In my case, simplescan (package name simple-scan) was also removed. Take notice what is removed with the purge and re-install that as well if you decide to be as lazy as I was.
As this is my newest hobby I am still learning and reading on topics as diaphragms, iso-speed and shutter time. If I need and discover other tools on linux (for manipulating raw files for instance) I will no doubt return on this subject and create a series.
I recently bought a 550D and was trying to setup tethered captures in DarkTable (which is a very promising tool) and I ran into pretty much the same problem as you. After some troubleshooting I got it working and found excatly what the problem is (at least on Ubuntu 10.04). The package that interferes is gvfs-backends which includes a gphoto2-specific automount volume monitor daemon (/usr/share/gvfs/remote-volume-monitors/gphoto2.monitor). Because of that, plugging in the camera GVFS takes over and automounts the device blocking any other application (including other instances of gphoto2) from accessing it. Of course this has the advantage that you don't really need gtkam any more as you can browse the SD from any file browser window.
However, tethered capture is not possible since applications are blocked from detecting the camera. The solution to that is either removing the gvfs-backends completely (not recommended) or just removing the gphoto2 configs from it by removing the files:
/usr/share/dbus-1/services/org.gtk.Private.GPhoto2VolumeMonitor.service /usr/share/gvfs/mounts/gphoto2.mount /usr/share/gvfs/remote-volume-monitors/gphoto2.monitor and optionally /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
After that I was able to use Tethered shooting (even remote control) directly from Darktable and I'm quite pleased.
Thanks a lot for this addition, I'll make sure to add a reference to your comment on top of the article!
@Dimitrios Psychogios Thank you very much! Now the tethering with my Canon 550d works perfectly!
Please tell me how did you connected the 550d to your Computer? Mine does not have any USB Ports, do it?
@Viktor there should be several connectors on the left side of the camera. They should be hidden beneath a lid next to the display. One of them should be called “A/V OUT / DIGITAL”. You need a cable that connects this port to USB.