Fotos von Digitalkameras übertragen [update]
Inhalt
Dieses Dokument beschreibt, wie man Fotos von einer Digitalkamera auf den Computer überträgt, wenn diese nicht als «Mass Storage Device»
erkannt wird.
1. Einleitung
Es gibt wohl keine Digitalkamera, die keine USB-Schnittstelle hat, damit man seine schönsten Fotos direkt auf die Festplatte seines Rechners kopieren kann. Software für Windows und Mac gibt's auf einer beigelegten CD sowieso. Doch auch im Jahre 2006 fehlt meistens jeder Hinweis auf Linux. Das bedeutet aber keinseswegs, dass sich die USB-Verbindung nicht auch unter Linux nutzen lässt. Die meisten Kameras werden als «USB Mass Storage Device» unter Linux erkannt, so dass die Kamera einfach wie eine SCSI-PLatte angesprochen werden kann:
darkstar# mount -t vfat /dev/sda1 /mnt/usb
Eine weitere Möglichkleit, seine Fotos zu übertragen ist ein USB-Karten-Leser. SD-Karte aus der Kamera nehmen, in den USB-Karteleser stecken und wie oben als SCSI-Platte ansprechen. Diese Möglichkeit besteht auch, wenn die Kamera nicht direkt angesprochen werden kann. So hatte ich es mit meiner alten Digitalkamera immer gemacht - diese hatte noch eine CompactFlash-Speicherkarte.
Da mein Kartenleser auch einen Steckplatz für SD-Karten aufweist, habe ich mir ohne weiter zu überlegen eine Canon IXUS 60 mit SD-Karte gekauft - doch konnte ich die SD-Karte nicht wie gewohnt als SCSI-Platte ansprechen. Keine Ahnung im Übrigen, warum das nicht geht...
Da die Canon auch nicht über USB-Kabel als SCSI-Platte ansprechbar ist, blieb als letzte Möglichkeit, gphoto2 zur Übertragung zu nutzen.
Wie das geht, wird im Folgenden beschrieben.
2. Was man braucht...
Um mit gphoto2 auf die Kamera zuzgreifen, müssen zwei Pakete installiert sein. Bei vielen Distributionen mögen die bereits in der Grundausstattung vorhanden sein - bei Slackware ist dies jedoch nicht der Fall. Ein Blick auf LinuxPackages lohnt jedoch - dort gibt es Pakete für Slackware 10.2, die auch mit Slackware 11.0 problemlos zusammenarbeiten. Herunterladen und installieren -
darkstar# installpkg libgphoto2-2.2.1-i486-1kjz.tgz gphoto2-2.2.0-i486-1kjz
- und von der Kommandozeile aus kann man schon mal auf seine Kamera zugreifen. Im Falle meiner Canon IXUS 60 sieht das dann so aus:
darkstar# gphoto2 -L Es gibt keine Datei im Verzeichnis »/«. Es gibt keine Datei im Verzeichnis »/store_00010001«. Es gibt keine Datei im Verzeichnis »/store_00010001/DCIM«. Es gibt 2 Dateien im Verzeichnis »/store_00010001/DCIM/100CANON«. #1 IMG_0005.JPG 1402 KB 2816x2112 image/jpeg #2 IMG_0006.JPG 1884 KB 2816x2112 image/jpeg Es gibt keine Datei im Verzeichnis »/store_00010001/MISC«. Es gibt keine Datei im Verzeichnis »/store_80000001«.Alle Digitalkameras übrigens, die wie die Canon das Picture Transfer Protocol (kurz: PTP) sprechen, werden auf jeden Fall unterstützt. Viele weitere Kameras auch - zur Zeit insgesamt 730 Modelle. Ob Ihre Kamera dabei ist, lässt sich mit
darkstar# gphoto2 --list-camerasherausfinden. Um alle Fotos von der Kamera zu übertragen, wird der Befehl
darkstar# gphoto2 -P Lade »IMG_0005.JPG« aus Verzeichnis »/store_00010001/DCIM/100CANON«... Speichere Datei als IMG_0005.JPG Lade »IMG_0006.JPG« aus Verzeichnis »/store_00010001/DCIM/100CANON«... Speichere Datei als IMG_0006.JPGverwendet. Die abgelegten Fotos können nun mit jedem beliebigen Bildbetrachter gesichtet werden.
Wenn Sie nach erfolgreicher Übertragung alles von der SD-Karte löschen möchten, tun Sie das mit
darkstar# gphoto2 -DEine Übericht über alle Möglichkeiten von gphoto2 gibt es wie immer unter Linux mit:
darkstar# gphoto2 --help
3. Digitalkamera verwalten mit gtkam
Wenn auch die Möglickeiten von gphoto2 sicherlich weitreichend sind, so ist nicht jeder ein reiner Kommandozeilen-Fetischist. Gibt's da nicht ein kleines grafisches Programm, mit dem man seine Digitalkamera verwalten kann?
Ein solches Programm ist z.B. «gtkam». Zu finden ist dieses ebenfalls auf LinuxPackages. Nach dem Herunterladen installieren Sie dieses wie gewohnt mit
darkstar# installpkg gtkam-0.1.13-i486-1alc.tgz
Allerdings hat dieses Programm eine ganze Latte von Abhängigkeiten: unter Slackware 11.0 musste ich zwei weitere Pakete nachinstallieren, unter der älteren Slackware 10.2 sogar vier:
darkstar# installpkg libexif-gtk-0.3.5-i486-1alc.tgz darkstar# installpkg pango-1.10.2-i486-1sdd.tgz darkstar# installpkg glitz-0.5.6-i686-1doc.tgz darkstar# installpkg cairo-1.2.4-i686-1doc.tgz
Was nachinstalliert werden muss, hängt natürlich auch davon ab, was auf Ihrem System so alles installiert ist. Sollte also beim Start von gtkam eine Fehlermeldung der Art
gtkam: error while loading shared libraries: libpangocairo-1.0.so.0: cannot open shared object file: No such file or directory
erscheinen, muss gegebenfalls weitere Software nachinstalliert werden. Es findet sich aber alles, was man braucht auf LinuxPackages. Falls das entsprechende Paket noch nicht für Slackware 11.0 verfügbar ist, nehmen Sie einfach das für Version 10.2 - ich hatte keine Probleme mit dieser Methode.
Haben Sie nun endlich alles Nötige installiert, dann materialisiert sich nach dem Aufruf von gtkam endlich ein neues
Fenster. In diesem Fenster klicken Sie dann auf 'Camera Add Camera'. Im nächsten Fenster dann auf 'Erkennung' und 'OK'.
Nun können Sie im gtkam-Hauptfenster durch Ihre Fotos browsen (s. Screenshot).
4. Benutzer-Konfiguration
Alle hier aufgeführten Befehle funktionieren zunächst nur als root. Damit sich gphoto2 und gtkam als normaler Benutzer starten lassen, werden alle Benutzer, die Zugriff auf die Kamera haben sollen, der Gruppe camera zugeordnet - dazu kann z.B. der Befehl
darkstar# vigr
benutzt werden. Nun wird für den Kernel Hotplug-Mechanismus (für Kernel der Serie 2.4) ein Mapping erstellt, das alle libgphoto2 bekannten Kameras enthält und der Gruppe camera zuordnet:
darkstar# /usr/lib/libgphoto2/print-camera-list usb-usermap > /etc/hotplug/usb/usbcam.usermap darkstar# chmod +x /etc/hotplug/usb/usbcam
Das war's bei mir. Falls bei Ihnen Probleme auftreten, hilft möglicherweise der folgende Artikel weiter: