9

Typical use case: A family notebook with multiple user accounts.

How do I setup Shotwell so all users have access to the same photo directory and each is able to import photos?

1
  • None of the posted answers work anymore with shotwell 0.23.7, when opened by the other user it coredumps: ERROR:/build/shotwell-6EfFpD/shotwell-0.23.7/src/db/VersionTable.vala:18:version_table_construct: assertion failed: (res == Sqlite.OK) Aborted (core dumped)
    – Nick
    Oct 15, 2016 at 18:50

5 Answers 5

9

dalloliogm is partially right, but it's not like we never considered it.

First, if you have multiple users who want to use Shotwell on their own photo libraries, and they have their own accounts on the machine, then everybody can log in to their own account and have their own database and their own picture library. That's true for Shotwell out-of-the-box.

If you're expecting each user to have their own database and picture directory but not have their own account on the machine, there is a solution. Run Shotwell like this:

$ shotwell --datadir=<datadir>

Shotwell will use the supplied directory to hold the database and other assorted files for the library.

The larger problem is one where you want all the users to share the same photos, as in, the assorted Shotwell databases point to the same physical photos. We currently have no support for updating the database if the backing file is changed or moved. The next release (0.8) should have better support for this, as it will scan the library at startup and also optionally monitor the user's library for run-time changes.

Also, Shotwell is a non-destructive editor. If one user crops a photo, for example, the other users won't see that change because the backing file has not changed. Synchronizing databases is something we're thinking of, but it's not a simple problem.

5
  • Is it possible for one (non-root) user to use another user's database and photos?
    – daithib8
    May 23, 2011 at 10:18
  • Yes, but the alternate user would need read/write permissions to the Shotwell data directory. There's no provisions in Shotwell for multiple processes accessing the same database file, so you definitely don't want to be doing this when the other user is running Shotwell.
    – Jim Nelson
    May 25, 2011 at 3:30
  • @JimNelson: Hi Jim, could you consider updating this answer if anything has changed since 2010?
    – Peque
    May 18, 2015 at 21:03
  • @JimNelson What would happen if I share the same Shotwell Database via network? Is SQLLite basically imune to this? I would guess not?
    – Alex
    Mar 27, 2016 at 17:32
  • 1
    @Alex: do NOT share the Shotwell database over a network. The application is not designed for that.
    – Jim Nelson
    Mar 29, 2016 at 18:10
3

I have just tried this method and it seems to work but I can't guarantee it's bug-free, so use it at your own risk.

1.Press Alt+F2 and type gksudo nautilus then press enter.

2.Enter your password, nautilus will start with administrator rights.

3.Browse to /home and right click -> Create folder, name it as "shotwell_common". Then right click on it, then click on properties-permissions. Give read+write access to "others". After that right click on the folder again then click on "Make Link". A link will be created there(in /home) named "link to shotwell_common".

4.Create another folder in /home named "shotwell_library" and change the permissions as above.

5.Start nautilus by clicking on Places->Home Folder from the menu on panel and press Ctrl-H. A folder named ".shotwell" will be visible. Delete it. Now copy the "link to shotwell_common" from /home to /home/user and rename it ".shotwell". Then launch shotwell and go to Edit->Preferences. Enter the path /home/shotwell_library as library location.

6.Import atleast one image file into shotwell. Shotwell's "photobrowser.db" file will be now created inside /home/shotwell_common.

7.Launch terminal and type sudo chmod -R o+rw /home/shotwell_common and press enter, as usual it will ask for password blah blah.

8.Repeat step-5 for every user of your computer.

9.You may now delete "link to shotwell_common" from /home now following step-1/2/3.

Don't forget to tell your family members two points:

a)When they import some images they should always choose the "copy to library" option.

b)They have no privacy while using shotwell now.

0

Either create a new partition or earmark an existing one for sharing all types of files between all the users of the notebook. Add an entry for the partition in your /etc/fstab file so that the partition is mounted in /media during boot. That way, every user will be able to access the files inside the partition from their respective desktops.

1
  • Yes, but this way shotwell will not automatically recognize photos imported by other user, will it? Sep 19, 2010 at 7:19
0

The reason why Shotwell doesn't have support for multiple users is because the developers didn't think of this use-case, and nobody asked them to implement it.

So the best thing you can do is to open a feature request ticket in their bug tracker application, and see what the developers answer you. Alternatively, you can write to their mailing list.

0

Shotwell 0.15.0 on Mint 16.

I'm using;

shotwell -d "/home/dan/.shotwellMultiLibrary/Dans"

and

shotwell -d "/home/dan/.shotwellMultiLibrary/Others"

to maintain two libraries, which seems to be working for starting up in the right library, except that the preferences are shared, so the 'watch' library (and other preferences settings) are incorrectly picked up from the last used.

Guess this might be related to https://bugzilla.gnome.org/show_bug.cgi?id=718721

Perhaps the later versions which haven't yet made it to the repo may fix this problem?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .