[Digikam-users] Separate instances of digikam, different album trees, same machine?

Jean-François Rabasse jean-francois.rabasse at wanadoo.fr
Tue Jun 5 23:29:51 BST 2012


On Tue, 5 Jun 2012, John Stumbles wrote:

> Is it possible to run more than one instance of digikam at the same time on a 
> machine, operating on different album trees and with different databases?
> ...
> I can't see, in digikam's help manual, any way to invoke it with a command 
> line parameter to specify where to find its config files or anything like 
> that so I guess the answer is probably that it is not possible, but I thought 
> I'd ask anyway!

Hello John,

It's possible if you're not reluctant to a bit of shell scripting.
(Or copy/paste my example below.)
I do the same thing and have two « DK environments », with different DB
and folders trees.

DK can be run with a command line option specifying the directory which 
hosts the database. But DK also uses a configuration file and this one is
unique, so tricking this requires some preconfiguration.

1. I have my standard (main) DK configuration set.

2. I wrote a shell script to run my auxiliary DK configuration
    (It's named dkaux and is somewhere in my PATH, e.g. $HOME/bin)

This script does the following :
--
#!/bin/bash
#

# Define aux base directory
DBASE=/somewhere/on/disk

# Save current RC configuration file
DCONF=${HOME}/.kde4/share/config/digikamrc
test -f ${DCONF} && mv ${DCONF} ${DCONF}.bak

# Install aux RC file if exists
test -f ${DCONF}.aux && mv ${DCONF}.aux ${DCONF}

# Start DK on aux directory (and wait, no trailing &)
digikam --database-directory ${DBASE} 2> /dev/null

# When done, restore RC configuration to standard
mv ${DCONF} ${DCONF}.aux
test -f ${DCONF}.bak && mv ${DCONF}.bak ${DCONF}

# That's all !
--

Well, it works well (at least for me:-), and it's possible to extend the
idea and write 2, 3 or more starting scripts, dkaux1, dkaux2, etc., with
different base directories and RC files.

The major problem is that you can't start at the same time two DK instances,
and get two DK main windows, the main tree and the aux tree.
No magic, as DK uses a single fixed RC configuration file the above can't
be reentrant.

Hope this could help,
Jean-François


PS: wish list: a great idea would be that future versions of DK could also
accept the RC file on command line. That would allow starting with:
  digikam --database-directory /... --configuration-file /....digikamrc
and managing different systems with shell aliases.


More information about the Digikam-users mailing list