Showing posts with label iPhoto. Show all posts
Showing posts with label iPhoto. Show all posts

Sunday, June 8, 2008

Sharing iPhoto Library between users

I recently started using Mac OS X again. I haven't used it since it first came out. I really like what I am seeing so far. However, I quickly found out that iPhoto is set up by default to have individual Libraries for iPhoto. This is not what I want. I want for me to be able to update the iPhoto Library and my wife to be able to update the same iPhoto Library when she logs into the computer. The reason is simple. We use iPhoto for the entire family. We don't keep individual copies. That seems insane to me.

You can always try this method, but I don't like it. You can hold down the option key when you click iPhoto on the Dock. This will have iPhoto ask you to Create a new Library or Choose an Existing Library. You should be able to create it in /Users/Shared/Pictures/iPhoto Library, and then for the other user point it to the same location instead of creating a new one. I have not tested this, but I expect it would work.

The thing is, I still wanted all things to appear to iPhoto and other applications that I am using my own iPhoto Library and see it in the /Users/Shared/user1/Pictures/iPhoto Library directory. I don't know if there is a good reason, but it seems like there will be less trouble in the future.

To accomplish this we can take advantage of what is called a symbolic link. It is different than the Alias feature in OS X.

Create a symbolic link each Pictures directory that points to the iPhoto Library for the Shared user.

Here is a sample of what you will need to do, probably from the root account

mkdir /Users/Shared/Pictures/iPhoto\ Library


sudo ln -s /Users/Shared/Pictures/iPhoto\ Library/ /Users/user1/Pictures/iPhoto\ Library


sudo ln -s /Users/Shared/Pictures/iPhoto\ Library/ /Users/user2/Pictures/iPhoto\ Library


NOTE: The example above has a space in the directory name. When using the shell, a back slash is need before the space to escape it. Much like many programming languages.

After that you will need to make sure user1 and user2 have Read / Write permissions on the /Users/Shared/Pictures/iPhoto Library directory. Otherwise, you will get permission or file locked error.

I'm sure there is a command to do this, but the UI makes it easy by getting info in Finder on the /Users/Shared/Pictures/iPhoto Library directory.

I would love feedback on this solution. I fiddled with the syntax to get it to work, and I think I got what I actually did written accurately here.