Onder Linux heb je de keuze uit verschillende programma’s om je fotocollectie te beheren. DigiKAM, F-Spot en Gthumb zijn wellicht de bekendste. Ze beschikken allemaal over vergelijkbare functies om foto’s te importeren van een digitale camera. 

 

De overeenkomsten tussen de tools is ook niet zo verwonderlijk, aangezien ze dezelfde backend gebruiken: gphoto2. En je raadt het al: voor gphoto2 bestaat er ook een commandline frontend!

1. Installatie
De gphoto2-libraries worden normaal gesproken standaard geïnstalleerd in elke Linux-distributie. Dat geldt niet voor de commandline frontend. In sommige distributies moet je daarvoor nog een apart pakket installeren. Controleer dus even of het commando gphoto2 op jouw systeem beschikbaar is. Is dat niet het geval, zoek dan in je package manager naar extra pakketten voor gphoto2. In Debian bijvoorbeeld is dat gewoon gphoto2. 

2. Camera detecteren
Koppel vervolgens je camera aan je computer en schakel hem in. Je kunt een lijst opvragen van ondersteunde cameramodellen (met de optie –list-cameras), maar nog sneller is de optie –auto-detect. Dan toont gphoto2 je onmiddellijk of je camera wordt herkend. Wil je meer informatie over welke mogelijkheden gphoto2 precies ondersteunt in combinatie met jouw camera? Voeg dan de optie -a toe. Zo weet je meteen of je via gphoto2 thumbnails kunt opvragen, bestanden kunt wissen, foto’s kunt uploaden enzovoort. 

3. Foto’s weergeven
Je wilt natuurlijk eerst zien welke foto’s op je camera staan voordat je ze importeert. De opdracht gphoto2 -L geeft je een lijst van alle beschikbare bestanden, voorzien van een volgnummer. Met die volgnummers kun je dan thumbnails downloaden van één of meer foto’s. Dat doe je met de -t-optie gevolgd door een reeks nummers, bijvoorbeeld gphoto2 -t 1,4,8-12 voor foto’s 1, 4 en 8 tot en met 12. Of je vraagt meteen alle thumbnails op met -T. De thumbnails worden bewaard in de huidige directory.

4. Foto’s downloaden
Heb je de foto’s gevonden die je wilt importeren? Vervang dan de optie -t of -T uit de laatste commando’s van tip 3 door -p of -P om een selectie dan wel alle foto’s te downloaden. Bij sommige camera’s kun je ook de optie –new gebruiken om slechts die foto’s te downloaden die nog niet eerder werden gedownload. Standaard worden gedownloade foto’s trouwens bewaard onder dezelfde naam als de bestanden op de camera. Wil je die naam aanpassen, bijvoorbeeld met een timestamp in plaats van het nietszeggende DSC_xxxx.jpg, gebruik dan de –filename-optie. Meer informatie over de precieze syntax daarvan vind je in de manpages van gphoto2 en date.

5. Bestandsbeheer
Gphoto2 bevat ook enkele commando’s voor bestandsbeheer op je camera zelf. De bekendste toepassing is natuurlijk het verwijderen van foto’s die je al hebt gedownload. Wederom kun je ervoor kiezen om slechts een selectie aan foto’s te verwijderen (-d) of meteen alle bestanden te wissen (-D). Maar je kunt ook bestanden uploaden (-u), nieuwe directories aanmaken (-m) en weer verwijderen (-r). Vind je dit allemaal wat omslachtig? Dan kun je met de –shell-optie een soort FTP-achtige interface opstarten voor interactief bestandsbeheer. Dat is voor veel taken al iets handiger.

6. Je camera als bestandssysteem
De volledige kracht van de commandline komt pas tevoorschijn als we het bestandssysteem van de camera kunnen mounten. Sommige camera’s presenteren zich gewoon als extern opslagmedium (vergelijkbaar met een harde schijf of USB-stick). Die kun je dus zonder problemen mounten. Maar veel camera’s werken met het PTP-protocol, wat meteen de reden is waarom je gphoto2 nodig hebt om je foto’s te downloaden. Gelukkig bestaat er een manier om bestandssystemen via het PTP-protocol te mounten. Installeer het pakket gphotofs en gebruik de volgende commando’s om het bestandssysteem op de camera te mounten of te unmounten:

 

$ gphotofs <mountpoint>

$ fusermount -u <mountpoint>

 

Helaas krijg je met gphotofs enkel read-only toegang. Om foto’s te uploaden of te verwijderen is gphotofs dus geen oplossing. Maar in combinatie met rsync is het wel een prima workaround om automatisch je laatste nieuwe foto’s te downloaden als jouw camera de –new-optie van gphoto2 niet ondersteunt.

7. Meer mogelijkheden
Zoals altijd worden de commandline-tools pas écht interessant zodra je ze begint te combineren. Met gphoto2, rsync, ImageMagick en exiftool kun je bijvoorbeeld een hele workflow uitbouwen voor het importeren van foto’s, aanmaken van thumbnails, uitlezen van exif-data enzovoort. De enige beperking daarbij is je eigen creativiteit!