Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I import all my photos with Shotwell into a folder within my Dropbox so all the photos are available to other devices. However, most importing is done on Linux laptop and while photos are available on the Linux desktop (a separate machine) the databases seem to be different so I have difficulty locating photos. Can anyone suggest a remedy ?

Supplementary question - if I add tags to the photos on, say the desktop, are these applied on the laptop as well ?

share|improve this question

I would suggest two things:

  • First - use symlinks to route shotwell into using the pictures directory of the dropbox folder for its photo store.
  • second - ensuring you do not have shotwell open at the same time on both machines - although dropbox has conflict resolution, for the shotwell internal db files it will probably only allow you to select one or the other of the versions.

This method should mean the tags will be shared too.

share|improve this answer

A simple one liner zsh command can link all your pictures from Shotwell into your Dropbox account. Try this:

cd Dropbox/Photos/ zsh ; zsh> foreach f in find ~/Pictures/**2013** -name '*.JPG'; do ; echo $f ; ln -fs $f . ; done; zsh> foreach f in find ~/Pictures/**2012** -name '*.JPG'; do ; echo $f ; ln -fs $f . ; done;

The softlinks are created from Shotwell into Dropbox/Photos folder. These files are then synced into your Dropbox account and availabe on multiple computers, without affecting your Shotwell libary. Then you can do the same from the other Linux computer as well.

As long as the image names which are being linked into Dropbox are unique between multiple computers, there should be no problem and all photos will come into Dropbox.

share|improve this answer

By default, Shotwell stores all metadata only in its database. There's an option in the Preferences to enable writing metadata into files (it's on the first tab in Preferences in Metadata section). This way you get tags in sync.

Edit: Expanding on the Danny's answer, you could also sync Shotwell's database directly if you want to sync everything. This will however work only if your photos are stored in the same location on all computers where you want to sync the database.

Edit: Recent versions of Ubuntu (e.g. 13.10) store the Shotwell data in ~/.local/share/shotwell/dat

This can theoretically lead to database corruption or data loss if you have both Dropbox and Shotwell running on multiple computers (and therefore there's a risk of edit conflicts).

Database is stored in ~/.shotwell/data/photo.db – either symlink it or move it into Dropbox (and then symlink it back) – I will assume you use ~/Dropbox directory.

Run this on your laptop (where the database is most up-to-date):

mv ~/.shotwell/data/photo.db ~/Dropbox/photo.db
ln -s ~/Dropbox/photo.db ~/.shotwell/data/photo.db

Now on your desktop, backup or remove the local database:

mv ~/.shotwell/data/photo.db ~/.shotwell/data/photo.db.original

(or to remove: rm ~/.shotwell/data/photo.db)

And again, symlink the synchronised database from Dropbox to the original location:

ln -s ~/Dropbox/photo.db ~/.shotwell/data/photo.db
share|improve this answer
Many thanks - to Danny as well. I am away from home at present but have tried the first part on my laptop and when I try to start Shotwell I get an error - Shotwell Unable to open/create photo database /home/jack/.shotwell/data/photo.db: error code 14 – Jack May 7 '12 at 15:08
I have taken a screenshot including the commands used in terminal, but not sure how to attach it?? – Jack May 7 '12 at 15:10
You can upload screenshot to and paste link here, or you can edit the question and use img button; could you also paste output/take screenshot of the following commands? cd ~/.shotwell/data; ls -l – jnv May 7 '12 at 16:39
Link to imgur account - – Jack May 9 '12 at 16:37
The problem is in a way how you've created a symbolic link – since you've executed the commands from /home and haven't used the ~; the resulting link in .shotwell/data pointed to a relative path, a non-existent file. So please, try again, but this time keep ~ in paths or use absolute paths (with /home/jack). – jnv May 9 '12 at 20:44

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.