Переносна бібліотека медія з Shotwell
Shotwell — це чудовий впорядкувальник фото
GNOME. Він імпортує фотографії у звичну теку ~/Pictures
, зберігає мета інформацію
і образки́ десь глибоко у схованих директоріях. А ось мої вимоги:
- Потрібно зберігати медіафайли на переносному жорсткому диску, тому що мій комп’ютер може мати обмеженого розміру SSD
- Потрібно тримати мета інформацію і образки́ поблизу фотографії, щоб полегшити створення резервних копій
- Має бути можливість увіткнути диск у іншу станцію GNOME і колекція фото має бути готова до використання.
Рішення дуже просте: підмонтувати (bind) директорії з переносного носія у звичні місця перед запуском Shotwell, і обережно відмонтувати після роботи.
#!/bin/bash
# Запустити Shotwell у переносній колекції фото
# Вжиток:
# ./launch-shotwell.sh
set -e
# Припускаємо, що цей скрипт знаходиться у корені переносної теки Pictures
pics_dir=$(readlink -f `dirname ${BASH_SOURCE[0]}`)
echo "Джерельна тека $pics_dir"
cleanup()
{
echo "$cleanup_actions"
eval "$cleanup_actions"
}
trap cleanup EXIT
mount_directory()
{
msg="$1"; src=$2; dst=$3
echo "Монтуємо $msg з $src"
mkdir -p $dst
# Так само можна було б використати bindfs, щоб не вводити пароль адміністратора
sudo mount -o bind $src $dst
cleanup_actions="sudo umount $dst; $cleanup_actions"
}
mount_directory "фото" $pics_dir ~/Pictures
mount_directory "база даних shotwell" $pics_dir/shotwell ~/.local/share/shotwell
mount_directory "кеш образків" $pics_dir/shotwell/.cache ~/.cache/shotwell
shotwell
Прекрасно, тепер бібліотека медія переживе багато персональних комп’ютерів!