Using Digikam in a Linux/Mac/Windows environment
Jack Haverty
jack at 3kitty.org
Wed Nov 12 19:37:04 GMT 2025
For the usual reasons, our IT environment contains a mix of computers
including Linux, Mac, and Windows desktops. Digikam runs on all those
devices, so I've been figuring out the logistics of making it all work.
Success! I figured I'd write it down in case someone else is trying to
do the same thing.
We have one machine (happens to be a Mac) which is the "master" Digikam
machine. The actual photos all live on a NAS, which is configured as a
network collection. All changes (adding new photos, tags, etc.) are
made on the Mac. The 4 database files on the Mac (Digikam's .db files)
are then copied to each of the other machines. I use Syncthing to make
that easy and automatic.
On each other machine, the goal is to make it possible to use Digikam to
search, retrieve, and use the Digikam database, but not to make any
changes such as adding photos to the collection or changing tags etc.
All changes are done on the master Mac.
The challenge hs been dealing with the differences in naming conventions
on Windows, Mac, and Linux.
I tried various approaches with the "network collections" features of
Digikam, but didn't succeed. On the Mac, the network collection was
acessible as "/Volumes/photo". On Linux, I could easily mount the NAS
photo folder as /Volumes/photo as well, so the Linux Digikam could find
photos using the Mac database settings.
On windows however, I could mount the NAS photo collection as a virtual
disk (I used P: to indicate Photos). But there was no obvious way to
create a link from /Volumes/photo to P: -- Windows uses \s, but Mac and
Linux like /s. I tried, on the Mac, adding a path to the photo
collection for "P:\" but it wouldn't let me do that on the Mac.
ChatGPT gave me the answer, and it actually worked! The steps are:
On each Windows device running Digikam:
1/ Mount your NAS photo store as a virtual disk (I used P:), and set it
to reconnect when you log in so it's always accessible
2/ Using the command line, as Administrator, create a link -- "MKLINK /D
"\VOLUMES\PHOTO" "P:\"
Result - Digikam on Windows, using the database copied from the Mac, can
successfully access the photo files from the NAS.
This works, at least for now, because Windows apparently treats \ and /
as equivalent when trying to find a file. So /Volumes/photo (from the
Mac database) gets used as \Volumes\photo (on Windows).
ChatGPT pointed me to several other ways to approach this problem. One
way was to use a database on the LAN rather than on the Mac. I could
run MySQL, MariaDB, or such on the NAS, and keep the Digikam database
there, but I'd rather not complicate the picture with another device
needed to use Digikam for basic searching and browsing. I also wanted
to avoid problems with situations such as multiple machines
simultaneously using the database, or "browsing" clients able to do
things like change tags thath the master put in.
There was another option to directly edit the Digikam database file to
add the Windows path directly, bypassing the checks that prevent adding
things like "P:\" while running on a Mac. But that seemed risky and
might be undone by some future release of Digikam.
I tried using the new "Remap" feature of Digikam. That works but only
in the case where each Digikam installation keeps its own database.
That's useful but not compatible with the approach of keeping a "master"
database on some particular machine.
If anyone's interested, my full conversation with the AI is here:
https://chatgpt.com/share/6914da04-f3ac-8001-a52b-a68562611b25
There is still one quirk which can be worked around.
Whenever Digikam runs, it apparently changes something in the database
files. So when I run Digikam on a Windows (or any) desktop, the local
database files are modified. Syncthing tries real hard to avoid losing
data, and the locally modified database files will not be overwritten
when the "master" files on the Mac are changed.
It's easy to tell Syncthing to "Revert Local Changes" which makes the
master files overwrite the local ones on the Windows (or Linux)
machines. But you have to remember to do that to avoid working with an
old Digikam database that won't have photos, tags, etc., from the latest
updates on the master. I could also solve that problem by avoiding
Syncthing and just using rsync to force a copy of the master to each
other machine where Digikam will run.
Anybody have a better way...?
/Jack
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x746CC322403B8E50.asc
Type: application/pgp-keys
Size: 2428 bytes
Desc: OpenPGP public key
URL: <http://mail.kde.org/pipermail/digikam-users/attachments/20251112/f66a3a00/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 665 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/digikam-users/attachments/20251112/f66a3a00/attachment.sig>
More information about the Digikam-users
mailing list