Browse and view photos in digiKam directly from Linux directories without importing them.
Ivon管理照片主要是使用Immich,它掃描硬碟各個目錄的照片,並將其統一渲染在時間軸上的功能讓我很滿意,但畢竟要用Docker開網頁,臨時要看照片不是很方便。所以我想說有沒有一款適用Linux電腦桌面的開源照片管理軟體可以使用。
開源方案找來找去也就KDE的digiKam了,GNOME Photos和Shotwell太陽春!
digiKam是一款功能豐富的照片管理軟體,提供Linux、Windows、macOS版本,除瀏覽照片圖庫之外還有簡單編輯RAW的功能。不過,有用過digiKam的都知道,它要「匯入」照片才可以看,也就是說複製一份。這對用硬碟目錄整理照片的我來說很是困擾,因為我希望照片應該是能被多重軟體讀取的,用目錄整理照片的同時不想遷就單一軟體的結構。
我希望能像Android手機的Google相簿或者Windows 11相片程式一樣,能自動掃描目錄,並將照片渲染在時間軸。不需要匯入,也不要讓digiKam生成的資料庫檔案,影響到原本照片目錄(也就是說我不想把digiKam的資料庫跟照片目錄住在一起,兩個應該隔離)。
現在digiKam 8.0並不支援讀取目錄的操作。雖然可以在digiKam點設定 → 設定digiKam → 本機收藏 → 新增收藏,讓它掃描照片目錄,免匯入,但digiKam依然會在照片的目錄產生.dtrash的額外檔案。
於是我在StackExchange找到了一個解法:使用符號連結。
這樣子既能用硬碟目錄模式整理照片,又能以digiKam瀏覽全部照片,digiKam也不會把額外檔案吐到照片所在目錄。
1. 預想的照片目錄結構#
digiKam的目錄結構是一個目錄一個相簿,所有目錄放在digikam的資料庫目錄下。
digikam資料庫
├── 相簿1
│ ├── 假期
│ ├── 工作
│ └── 家人
├── 相簿2
│ ├── 會議
│ ├── 工作
│ └── 文件
└── 相簿3
我實際上硬碟的照片目錄結構也是用目錄分類的,最大的目錄是DCIM,下面一個資料夾一個年份,每個年份下面依照事件分類。並且這些照片目錄放在其他硬碟。
DCIM
├── 2025
│ ├── 2025.01.01 台南市區
│ ├── 2025.02.04 高雄市
│ └── 2025.04.01 楠梓區
├── 2024
│ ├── 2024.10.16 台北市博愛特區
│ ├── 2024.11.11 新竹市
│ └── 2024.12.15 屏東市醫院
└── 2023
當我透過符號連結放到digiKam目錄下的時候,目錄結構應該是相同的。
2. 具體作法#
- 用Flatpak安裝digiKam
flatpak install flathub org.kde.digikam
開啟digiKam,找一個目錄當作資料庫位址,譬如
~/home/圖片/digikam/
然後點左側,新增相簿,我就叫做
DCIM
。這個相簿在digiKam的資料庫目錄下,就是一個DCIM
目錄(其實不一定要新增相簿,直接在檔案管理器新增目錄digiKam就會讀到,可以跳過這一步驟)關閉digiKam,開啟檔案管理器,找到digikam資料庫目錄,把
DCIM
目錄刪除。用ln指令新增軟連結,在digiKam的目錄新增
DCIM
目錄,連結到實際的照片目錄路徑,我實際的照片目錄位於/media/user/HDD/DCIM
ln -s /media/user/HDD/DCIM /home/user/圖片/DCIM
KDE Dolphin用戶可以直接在目錄右鍵點選新增連結到目錄
然後目錄會變成這樣,DCIM是符號連結過去的。
重新開啟,讓digiKam掃描即可。
如果打算移除相簿,建議用檔案管理器刪除軟連結,這樣只有連結本身被刪除,原本的目錄不會受到影響。如果從digiKam刪除,它可能會把原本照片目錄一起刪了。
參考資料#
Does Digikam have picture ‘view’ option witout importing them? - Photography StackExchange