Tethering your DSLR camera to a computer opens a whole new world of possibilities: you can instantly view your shots on a large screen, trigger your camera remotely, practice the art of time-lapse photography, and perform other clever tricks. While commercial tethering software for Windows and Mac OS X often costs serious money, you can enjoy all the advantages of tethered shooting on Linux free of charge courtesy of Entangle. This tethering software lets you control practically all camera settings, trigger the shutter from the computer, view a live preview of a scene, and automatically download captured images to the computer.
While digiKam won’t rival dedicated software for tethered shooting, you can use the application’s Import interface to trigger the connected camera and instantly fetch photos from it. This functionality can come in handy when you want to have an instant preview of photos you take on a large screen.
To make use of this feature, connect your camera to the machine running digiKam, and turn the camera on. In digiKam, choose Import → Cameras and select your camera model. You can then trigger the camera using the Capture button. There are a couple of things you need to keep in mind, though. digiKam can’t control camera settings (shooting mode, aperture, shutter speed, etc.) remotely, so you should set them beforehand. The images captured from within the Import interface are not stored on the camera’s storage card, so make sure you import them into digiKam before you disconnect or turn off the camera.
Most Linux photographers use graphical applications like digiKam, Rawstudio, or darktable as their tools of choice for processing and managing photos. But it is possible to set up a photographic workflow built around command-line tools that can handle a wide range of photographic tasks: from fetching photos from your camera and convert RAW files to the JPG format, to backing up the photos on a remote machine and even publishing them on the web. Here is a sample workflow you can use as your starting point.
The first order of business is to set up a dedicated working directory for storing photos transferred from your camera:
Next, make sure that the gPhoto software is installed on your system. gPhoto is available in the software repositories of many popular LInux distributions, so you can install it using your distro’s package manager. On Ubuntu, this can be done using the sudo apt-get install gphoto2 command. Connect then the camera to your machine and run the gphoto2 –auto-detect command. If your camera is supported, the command should return brief camera info.
To transfer photos from the camera to the fotki directory, run the following commands in the terminal:
If your camera supports tethered shooting, you can use gphoto2 to automatically transfer photos from the camera as soon as you take them. To do this, use the gphoto2 –capture-tethered command.
Once the photos have been transferred, you might want to change their names to something more descriptive. One way to do this is to use the exiftool utility (on Ubuntu, you can install it using the sudo apt-get install libimage-exiftool-perl command). For example, the following command renames Nikon RAW files using date info from EXIF metadata:
exiftool -d %Y%m%d/%Y%m%d-%H%M%S.%%e "-FileName<DateTimeOriginal" *.NEF
If you shoot in RAW, the UFRaw utility can come in handy when you need to convert RAW files to the JPEG format. To install it on Ubuntu, run the sudo apt-get install ufraw command. Use then the ufraw-batch tool to convert RAW files:
ufraw-batch --out-type=jpeg *.NEF
The command above uses the default options for converting RAW files, and to get the best result, you might want to tweak them. For a full list of supported options, run the man ufraw-batch command. Here is an example of a more advanced ufraw-batch command:
ufraw-batch --wb=camera --rotate=camera --out-type=jpeg --out-path=jpeg/ nef/*.NEF
The good old rsync utility can take care of backing up your photos to a local destination, external storage device, or a remote server. For example, the following command backs up the fotki directory to a server on the local network using a secure SSH connection:
rsync -avhe ssh --delete ~/fotki user@remotehost:/home/user/fotki
Finally, if you want to publish your photos on the web, the llgal tool got you covered. It can generate no-frills static HTML galleries. As any command-line tool worth its salt, llgal supports a handful of options for you to tweak. The -R option, for example, can be useful if you want llgal to include subdirectories into the final gallery. To give the gallery a name, use the –title option as follows: –title “Garden Flowers.” llgal doesn’t generate thumbnails, so if the source directory contains large image files, it’s a good idea to limit their width and height to a specific size. This can be done using the –sx and --sy options. And you can use the –exif option to display EXIF metadata for each photo. To sum up, here is an example:
llgal --exif --li -L -R --title "Garden Flowers" --sx 800 --sy 600
To see a list of all available options supported by llgal, run the llgal –help command.
These are just a handful of tools you can use to set up a command-line photographic workflow on Linux. There are, of course, many other handy command-line tools out there you can incorporate into your workflow. Using, for example, the HDR script, you can automate the process of creating HDR images, while the Enfuse tool (it’s part of the Hugin software) can be used for focus stacking.
When it comes to tethered shooting, Rawstudio is by far the easiest and most user-friendly solution on Linux. This powerful RAW processing application sports functionality which allows you to control and monitor the connected camera with a minimum of effort. The only requirement is that your camera is supported by the gPhoto2 software which acts as Rawstudio’s back end. Plug your camera into a USB port in your machine and make sure that the camera is not mounted (unmount it, if necessary). Launch Rawstudio, and hit F9 (or choose View » Tethered Shooting) to open the Tethered Shooting window.
Select your camera in the Select camera drop-down list, and press the Connect button to establish a connection between the machine and the camera. To check whether everything works properly, hit the Take Photo button. This should trigger the camera and automatically import the taken photo into Rawstudio.
Instead of triggering the camera from Rawstudio you can put the application into the monitoring mode by pressing the Monitor button. In this case, Rawstudio listens to the camera, and as soon as you take a photo, the application transfers the file to the machine. Rawstudio also supports so-called interval shooting, when it automatically triggers the camera at predefined time intervals. This functionality can be particularly useful for time-lapse photography. Using this feature is as easy as it gets: specify the desired interval in the Second between each shot field and press the Start Shooting button. The camera will keep taking photos at the specified intervals until you hit the Stop Shooting button.
Finally, in the Filename and Tags section, you can specify a naming rule and tags which Rawstudio automatically applies to each transferred photo. For example, the %DY%Dm%Dd-%t rule renames incoming photos using their date and time as follows: 19730531-23:59:59.NEF, 19730531-01:01:59.NEF, and so on. And if you specify rawstudio, macro, flowers and other tags in the Tags for new images field, they will be automatically assigned to imported photos.