DIY photography tools
Follow the Script
DIY tools and shell scripts can make for a smooth photographic workflow on Linux.
Photographic workflow is more than just keeping tabs on your photo library and processing RAW files. There are plenty of other tasks you might want to manage: from backing up RAW files and photos when you are on the move, to publishing your best work on the web.
Developing custom tools that keep a photographic workflow smooth is arguably as much fun as taking photos. So for several years now, I've been working on a number of simple applications and scripts that I use on a daily basis. All the tools described in this article are released under the GPLv3 license.
Little Backup Box
When you are traveling, having a backup of all your photos and RAW files makes a lot of sense. Even if your camera has two card slots, it still pays to have a separate backup on a different storage media. Of course, you can spend serious money on something like WD My Passport Wireless SSD. Aside from the price, this otherwise clever device has one major drawback: You can't tweak, extend, or upgrade it. Theoretically, you can upgrade storage, but doing this requires neurosurgery-level skills and most certainly voids the warranty. And as soon as the battery inside the device dies, you are left with an expensive paperweight.
Instead of paying through the nose for a commercial product with limited functionality and a nonexistent upgrade path, you can easily transform a Raspberry Pi into a simple yet versatile backup device using Little Backup Box [1].
Opting for the DIY solution offers several advantages. To begin with, Little Backup Box is based on mature and reliable open source tools. Depending on your skills, you can customize, extend, and improve Little Backup Box to meet your specific needs. For example, with a bit of work, you can implement cloud backup functionality, add hardware buttons to trigger a backup action, and much more.
Little Backup Box is designed to run on a Raspberry Pi, which is by far the most popular single-board computer on the market. You can buy it, along with the rest of the required parts, from practically any reputable store. Using the available parts, you can build a tiny Little Backup Box device based on a Raspberry Pi Zero that fits any pocket and can be powered by a small power bank (Figure 1). Or you can opt for a more powerful and versatile device based on Raspberry Pi 3. Better still, thanks to its modular design, you can easily replace the battery, upgrade storage, and swap any faulty component. More importantly, Little Backup Box comes with a script that automates the entire installation and configuration process.

To build your own photo backup device, you need three things: a Raspberry Pi, a power supply or power bank, a microSD card, and a high-capacity USB drive that will act as a backup storage device. Theoretically, it's possible to use Little Backup Box with a conventional hard disk or solid-state drive, but you need to either use a powered USB hub or a hard disk with its own power source.
Transforming a Raspberry Pi into a photo backup device is a three-step procedure. First, create a bootable microSD card with the Raspbian Lite system on it. Second, boot the Raspberry Pi using the created card, run the raspi-config
tool and configure the system. Also, edit the /etc/wpa_supplicant/wpa_supplicant.conf
file to connect the Raspberry Pi to the desired wireless network. Third, run the command
curl -sSL https://is.gd/littlebackupbox | bash
to install Little Backup Box. That's all there is to it.
Little Backup Box supports three backup modes: Card backup (automatically backs up the contents of a storage card to an external storage device), Camera backup (transfers photos, RAW files, and videos from the camera connected directly to the Raspberry Pi), and Remote control (access all features via a web interface). The first two modes make it possible to run backup operations without user interaction, while the Remote control mode allows you to activate any of the two modes manually. In addition to that, the Remote control mode allows you to enable the DLNA and Samba servers, view system info, and shut down the Raspberry Pi.
During installation, the installer prompts you to choose the default mode. If you want to use Little Backup Box strictly as a backup device, choose either the Card backup or Camera backup mode. To access all the available features, choose the Remote control mode.
Using Little Backup Box in the Card backup or Camera backup modes couldn't be easier (Figure 2). Boot the Raspberry Pi and plug the backup storage device into it. Depending on which mode Little Backup Box operates in, connect either a card reader with a card or your camera. The backup operation then starts automatically, and the Raspberry Pi shuts down as soon as the backup is complete.

In the Remote control mode, the Raspberry Pi connects to the specified wireless network, and you can access Little Backup Box's web interface using any device on the same network. Point the browser to http://ipaddress:8000, where ipaddress is the IP address of the Raspberry Pi, and you should see Little Backup Box's web interface.
Otto
When it comes to transferring RAW files and photos from a storage card or directly from your camera, there are plenty of tools at your disposal: from dedicated tools like Rapid Photo Downloader, to the Import module in digiKam. Although these tools excel at what they do, they might not always fit your particular needs. For example, I prefer to store important information about a photo in the Exif metadata Comments field. The information includes the camera model, lens, and weather conditions. This way, when I view the photo in digiKam, I can immediately see what camera and lens combination I used to take the photo and what the weather was on that particular day. I also wanted to streamline the import procedure, so it would not only transfer files, but also geotag, rename, and organize them by date – all in one go.
The Otto shell script [2] does all of this with practically no user interaction. During the first run, the script prompts you to specify the required info, such as the destination directory for the transferred RAW files and photos, the desired copyright notice, a key for the Dark Sky weather service API, and a Notify key. After that, using Otto to transfer RAW files and photos from a storage card is as easy as it gets. Plug a card reader with a storage card into your machine, mount the card, and note the path to it. Run the command
./otto.sh /path/to/card [OPTION]
(where /path/to/card
is the path to the mounted card). If you run the script without any options, it assumes that the photos it's about to import are already geotagged. If the photos are not geotagged, you have three options. Using the -g
followed by the name of the city where the photos were taken, you can do coarse geotagging. If you have a GPX file, you can specify the path to it with the -c
parameter, and the script geo-correlates the photos for you. And in case you have multiple GPX files spanning several days, use the -m
parameter followed by the path to the folder containing GPX files. This instructs the script to merge the GPX files before performing geo-correlation. Once RAW files and photos have been transferred and geotagged, the script obtains the required info and writes it, along with the specified copyright notice, into the appropriate fields in Exif metadata. Once this task is completed, the script renames the transferred files and neatly organizes them by date. Finally, if you've provided a Notify key, the script sends a notification to your Android device running the Notify app [3] to let you know that the import process is finished.
To install the script, clone the project's Git repository using the command
git clone https://gitlab.com/dmpop/otto.git
or download the latest version of the script from the project's page. On openSUSE, move the otto.sh
script to the ~/bin
directory. On other Linux distributions, you can install the script using the following commands:
sudo cp otto.sh /usr/local/bin/otto sudo chown root:root /usr/local/bin/otto sudo chmod 755 /usr/local/bin/otto
Finally, install the required packages. On openSUSE, this can be done using the command:
sudo zypper in getopt bc jg curl ExifTool
Konbini
There are plenty of reasons to like KDE. One of them is the ability to add context actions to the Dolphin file browser. Need to quickly resize a photo directly in the file browser? Create a context action, and you can resize any photo by right-clicking on the file and choosing the action. Need to upload a photo to your blog? Create another action, and you are good to go.
While the process of creating custom context actions is not particularly complicated, it does consist of several steps. If you'd rather not spend time on that, you might want to give Konbini [4] a try. This is a collection of actions that let you perform several useful actions (Figure 3): resizing and recompressing photos, renaming photos using Exif metadata, and converting RAW files into JPEG format. In addition to that, Konbini features tools for adding comments to photos, geotagging photos, as well as viewing the currently selected geotagged photo on OpenStreetMap. If you happen to run openSUSE, Debian, or Ubuntu, you can deploy Konbini using a dedicated installer script. Run the command
curl -sSL https://is.gd/konbini | bash

in the terminal, and it will install all the required packages and files.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Direct Download
Read full article as PDF:
Price $2.95
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
News
-
Mageia 9 Beta 2 is Ready for Testing
The latest beta of the popular Mageia distribution now includes the latest kernel and plenty of updated applications.
-
KDE Plasma 6 Looks to Bring Basic HDR Support
The KWin piece of KDE Plasma now has HDR support and color management geared for the 6.0 release.
-
Bodhi Linux 7.0 Beta Ready for Testing
The latest iteration of the Bohdi Linux distribution is now available for those who want to experience what's in store and for testing purposes.
-
Changes Coming to Ubuntu PPA Usage
The way you manage Personal Package Archives will be changing with the release of Ubuntu 23.10.
-
AlmaLinux 9.2 Now Available for Download
AlmaLinux has been released and provides a free alternative to upstream Red Hat Enterprise Linux.
-
An Immutable Version of Fedora Is Under Consideration
For anyone who's a fan of using immutable versions of Linux, the Fedora team is currently considering adding a new spin called Fedora Onyx.
-
New Release of Br OS Includes ChatGPT Integration
Br OS 23.04 is now available and is geared specifically toward web content creation.
-
Command-Line Only Peropesis 2.1 Available Now
The latest iteration of Peropesis has been released with plenty of updates and introduces new software development tools.
-
TUXEDO Computers Announces InfinityBook Pro 14
With the new generation of their popular InfinityBook Pro 14, TUXEDO upgrades its ultra-mobile, powerful business laptop with some impressive specs.
-
Linux Kernel 6.3 Release Includes Interesting Features
Although it's not a Long Term Release candidate, Linux 6.3 includes features that will benefit end users.