Visit Jeremy's Blog.
Go Back > Blogs > TheOuterLinux
User Name


Rate this Entry

TheOuterLinux Mμse - Private Shotwell: Encrypted photo management

Posted 06-26-2020 at 06:58 PM by TheOuterLinux
Updated 06-26-2020 at 07:14 PM by TheOuterLinux (Added links)

Cross-posted from:
RSS for website version:

Happy birthday Shotwell!
Initial release 2009/06/26

I am sure that there are lots of ways to have "encrypted photo management," but Shotwell and zuluCrypt, so far, have been the most incredibly easy to use combination for this.

I would also like to mention that my GNU/Linux distribution "PsychOS" includes both Shotwell and zuluCrypt.

 ____       _            _         ____  _           _                _ _
|  _ \ _ __(_)_   ____ _| |_ ___  / ___|| |__   ___ | |___      _____| | |
| |_) | '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \| __\ \ /\ / / _ \ | |
|  __/| |  | |\ V / (_| | ||  __/  ___) | | | | (_) | |_ \ V  V /  __/ | |
|_|   |_|  |_| \_/ \__,_|\__\___| |____/|_| |_|\___/ \__| \_/\_/ \___|_|_|
                          by TheOuterLinux
                     Last updated: 2020/06/26
Discussion URL:

1. Shotwell (Photo/video manager)
2. zuluCrypt (Encryption program)

The steps:
1. Create a container using ZuluCrypt; make sure that it is large enough
   to fit whatever images, photos, videos, etc. that you have or will
   have in the future because as far as I know, you cannot resize these
   containers and will have to create a new one if you need to upscale.
   - Open zuluzCrypt
   - Create --> Encrypted container in a file
   - Give it name, location, and a size.

2. Another window will open afterwards asking about what kind of 
   encrypted container you want to have. If you do not understand any
   of the options, then just use the defaults as they are but make sure
   to give it a password in the "Key" and "Repeat Key" input fields.
   These fields also allow you to use a file as a key instead if you
   have a hard time remembering passwords.
3. You can then use either zuluCrypt or zuluMount to drag-and-drop the
   container. Enter the password ("Key") when asked. Then, click on the
   listed container with in zuluCrypt or zuluMount and use "Open folder."
   Your file manager will open a directory that you can now add your
   private files to.
4. Create a custom .desktop file just for "Private Shotwell," or whatever
   you want to name or disguise it as. You could also add a "." in front
   of the container name to hide it from normal view when browsing the
   file manager, which most of them toggle on/off using Ctrl+h for hide
   and unhide. Create the following files and contents:
   Example contents of /usr/share/applications/PrivateShotwell.desktop:
       [Desktop Entry]
       Name=Private Shotwell
       GenericName=Photo Manager
       Comment=Organize your photos
       Exec=sh -c "shotwell --datadir=/run/media/private/yourusername/ContainerName/"
       X-GNOME-FullName=Shotwell Photo Manager
   ...Replace "yourusername" with your username and "ContainerName" with
   your container name; however, if your system is weird, or you have
   decided to use a flash drive instead, you will have to copy/paste the
   directory of the mounted container instead. You will also want to
   replace "Icon=PrivateShotwell" with whatever image you want to use
   instead. put your custom image icon within "/usr/share/pixmaps." You
   can also put the image almost anywhere else, just make sure to give
   the full file path if you do.
   After saving, your applications menu should now have, or at least in
   this example, "Private Shotwell." The name of the file does not have
   to match the name of "Name=" part within the file but the system will
   automatically make whatever "Name=" you gave it look like that is the
   file name, even though it may not be. Not important; moving on...
5. Open the regular Shotwell so it can create a few files we need to
   copy/paste. The directory we are going to copy/paste to the encrypted
   container directory is "~/.local/share/shotwell/data". If this is 
   confusing to you, try using Ctrl+h to toggle hidden files on and off
   while in your home ("~") directory. This is why we have "--datadir="
   in the .desktop file we created within the "Exec=" part.
6. Close the regular Shotwell.
7. While the encrypted container you created is still mounted, open
   "Private Shotwell," or whatever you "Name=" it and:
   - Edit --> Preferences
       Use settings:
       -- Import photos to [/path/to/encrypted/container/directory]
       -- [x] Watch library directory for new files
       -- [x] Write tags, titles, and other metadata to photo files
   - File --> Import From Folder...
       -- Use the encrypted container directory.
8. And then, our "Private Shotwell" will populate with images and videos,
   as well as any supported, embedded metadata for each photo if edited
   in that way from other software. And, the metadata you add should
   only stay within the specified "--datadir" as previously mentioned.
   This way, you do not have unwanted tags displayed on the side panel
   while running the regular Shotwell.
You have to mount the encrypted container BEFORE you can run the 
"Private Shotwell" and do not forget to unmount it with zuluCrypt or
zuluMount when you are finished.
If you would like to start fresh in regards to that metadata, you can 
clear out a photos' metadata, or at least most of it, by installing 
'libimage-exiftool-perl' and running 'exiftool -all= *' in a terminal 
while 'cd'-ed into it. Be very careful with this because using "*" with 
'exiftool' does it recursively, meaning it also clears metadata within 
subdirectories. It will also create "*_original" copies of each of those 
files and you'll want to remove those.

I also recommend 'XnConvert' from 
for batch converting/editing files since you can just drag-and-drop
folders full of images, which is very helpul for when people use PNG 
files for photos, for whatever reason. You can cut your file sizes in
half or more this way.

You can also encrypt an entire usb storage stick using zuluCrypt instead
of creating a file.
Posted in Uncategorized
Views 63 Comments 1
« Prev     Main     Next »
Total Comments 1


  1. Old Comment
    Interesting and creative.
    Posted 06-27-2020 at 05:11 PM by greencedar greencedar is offline


All times are GMT -5. The time now is 04:43 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration