我使用 Shotwell 将所有照片导入 Dropbox 中的一个文件夹,这样其他设备就可以查看所有照片。但是,大多数导入操作都是在 Linux 笔记本电脑上进行的,虽然照片可以在 Linux 台式机(一台单独的机器)上使用,但数据库似乎不同,因此我很难找到照片。有人能建议补救措施吗?
补充问题 - 如果我在桌面上的照片上添加标签,这些标签是否也适用于笔记本电脑?
答案1
我建议两件事:
- 首先 - 使用符号链接将 shotwell 路由到使用 dropbox 文件夹的图片目录作为其照片存储。
- 第二 - 确保您不会在两台机器上同时打开 shotwell - 尽管 dropbox 具有冲突解决功能,但对于 shotwell 内部数据库文件,它可能只允许您选择其中一个版本。
这种方法意味着标签也将被共享。
答案2
一个简单的 zsh 命令就可以将 Shotwell 中的所有图片链接到您的 Dropbox 帐户。试试这个:
cd Dropbox/Photos/ zsh ; zsh> foreach f in find ~/Pictures/**2013** -name '*.JPG'
; do ; echo $f ; ln -fs $f . ; done; zsh> foreach f in find ~/Pictures/**2012** -name '*.JPG'
; do ; echo $f ; ln -fs $f . ; done;
软链接从 Shotwell 创建到 Dropbox/Photos 文件夹。然后这些文件将同步到您的 Dropbox 帐户,并在多台计算机上可用,而不会影响您的 Shotwell 库。然后您也可以从另一台 Linux 计算机上执行相同操作。
只要链接到 Dropbox 的图像名称在多台计算机之间是唯一的,就不会有问题,所有照片都会进入 Dropbox。
答案3
默认情况下,Shotwell 仅在其数据库中存储所有元数据。首选项中有一个选项启用将元数据写入文件(它位于“元数据”部分“首选项”中的第一个选项卡上)。这样,您就可以同步标签。
编辑:扩展 Danny 的回答,如果你想同步,你也可以直接同步 Shotwell 的数据库一切。但是,只有当您的照片存储在您想要同步数据库的所有计算机上的同一位置时,此方法才有效。
编辑:Ubuntu 的最新版本(例如 13.10)将 Shotwell 数据存储在~/.local/share/shotwell/dat
如果您在多台计算机上同时运行 Dropbox 和 Shotwell,这理论上可能会导致数据库损坏或数据丢失(因此存在编辑冲突的风险)。
数据库存储在 ~/.shotwell/data/photo.db 中 – 可以对其进行符号链接或将其移动到 Dropbox(然后再将其符号链接回来) – 我假设您使用 ~/Dropbox 目录。
在您的笔记本电脑上运行此程序(数据库是最新的):
mv ~/.shotwell/data/photo.db ~/Dropbox/photo.db
ln -s ~/Dropbox/photo.db ~/.shotwell/data/photo.db
现在在您的桌面上,备份或删除本地数据库:
mv ~/.shotwell/data/photo.db ~/.shotwell/data/photo.db.original
(或删除rm ~/.shotwell/data/photo.db
:)
再次将同步数据库从 Dropbox 符号链接到原始位置:
ln -s ~/Dropbox/photo.db ~/.shotwell/data/photo.db