How to transfer an iPhoto Library to a file based structure and how to manage them properly?

Solution 1:

I don't use either iphoto or shotwell, so the following may not be relevant. I assume that you are wanting to reorganise your photos by date and time taken? Shotwell is what you propose to use to achieve that?

I use jhead (http://www.sentex.net/~mwandel/jhead/usage.html). It is command line only, but very fast. It will operate on a whole directory full of images with one command. It uses the exif metadata embedded in the pictures, and can rename them by date and time (ie date and time taken), in accordance with the pattern you specify on the command line. Renaming can include creating a directory structure based on date. The web page I have linked to gives examples.

If this works for you, you could create a shell script with your chosen renaming pattern, so that you can reproduce the same pattern for every directory-full of photos. There are also plenty of examples on the internet of how to get a script to walk a directory tree, and run the desired command on every directory it finds. Don't ask me how to do that - you will need to ask someone who knows!

Solution 2:

This might be random and might not be for you but I've installed a NextCloud server and put the app on my iPhone. It has a sync function so it will sync everything in the photos app on your iPhone (which is in an iPhoto db format) by date. If you install the sync client on your machine then you will have access to all of your photos because they will be downloaded from your cloud account. From there you can import them into Ubuntu easily.