Nautilus无法显示我NEF文件(照片原始文件)的缩略图。

我在 nautilus 中没有看到我的 NEF 文件(照片原始文件)的缩略图。 有没有简单的方法修复这个问题?

这个问题还能再现吗? - Braiam
@Braiam 不清楚14.04版本,但在13.10版本中,我必须安装额外的软件包才能使其正常工作,就像我在回答中提到的那样。 - Dan
6个回答

默认情况下,Ubuntu不会显示NEF文件的缩略图。但是你可以尝试安装UFraw(如this blog post中所述)。
sudo apt-get install ufraw

如果尚不存在,请创建一个缩略图文件/usr/share/thumbnailers/ufraw.thumbnailer,内容如下:

[Thumbnailer Entry]
Exec=/usr/bin/ufraw-batch --embedded-image --out-type=png --size=%s %u --overwrite --silent --output=%o
MimeType=image/x-3fr;image/x-adobe-dng;image/x-arw;image/x-bay;image/x-canon-cr2;image/x-canon-crw;image/x-cap;image/x-cr2;image/x-crw;image/x-dcr;image/x-dcraw;image/x-dcs;image/x-dng;image/x-drf;image/x-eip;image/x-erf;image/x-fff;image/x-fuji-raf;image/x-iiq;image/x-k25;image/x-kdc;image/x-mef;image/x-minolta-mrw;image/x-mos;image/x-mrw;image/x-nef;image/x-nikon-nef;image/x-nrw;image/x-olympus-orf;image/x-orf;image/x-panasonic-raw;image/x-pef;image/x-pentax-pef;image/x-ptx;image/x-pxn;image/x-r3d;image/x-raf;image/x-raw;image/x-rw2;image/x-rwl;image/x-rwz;image/x-sigma-x3f;image/x-sony-arw;image/x-sony-sr2;image/x-sony-srf;image/x-sr2;image/x-srf;image/x-x3f;

这个文件基本上是说要在指定的MIME类型的任何文件上执行ufraw-batch(使用正确的参数)。其中包括image/x-nef

1+1,需要进行一个小修正,应该是/usr/share/thumbnailers而不是/usr/share/thumbnailer - danijelc
1我有一台松下相机,它创建的是RW2文件。我不得不在上面的最后一行添加MIME类型为image/x-panasonic-raw2;。之后完美运作! :) - seanlano
这在Ubuntu 18.04上无法直接使用,下面@Dan的回答非常有效。 - dogmatic69
这在19.04版本中有效。 - Christians
我可以确认这在19.10版本中也适用,甚至无需重新启动Nautilus。注意:在我的情况下,我需要将image/x-panasonic-rw2添加到ufraw.thumbnailer文件中的MIME类型列表中。 - seanlano
E: 软件包 'ufraw' 没有可安装的候选项 - Florian Ludewig
为了使这个方法适用于已经生成预览的RAW文件,我需要使用nautilus -q; rm -rf .cache/thumbnails/* .thumbnails/*来清除缩略图缓存,然后重新启动Nautilus。之后,一切都运行得很顺利!谢谢 :) https://gist.github.com/h4cc/13450db3d4a7457f9b38 - Alexandre

好的,这里大部分答案要么在Ubuntu 19.10上不起作用,要么因为处理原始文件而变慢。
NEF文件(以及可能还有其他格式)在其中嵌入了JPEG预览图像,提取速度更快。而且,Gnome的默认缩略图生成器支持它们,只是没有启用。下面是如何启用它的方法:
  • 您需要编辑文件/usr/share/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer以添加缺失的MIME类型。
  • 以下是修改前的文件内容:
[Thumbnailer Entry]
TryExec=/usr/bin/gdk-pixbuf-thumbnailer
Exec=/usr/bin/gdk-pixbuf-thumbnailer -s %s %u %o
MimeType=image/png;image/bmp;image/x-bmp;image/x-MS-bmp;image/gif;image/x-icon;image/x-ico;image/x-win-bitmap;image/vnd.microsoft.icon;application/ico;image/ico;image/icon;text/ico;application/x-navi-animation;image/jpeg;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/tiff;image/x-xpixmap;image/x-xbitmap;image/x-tga;image/x-icns;image/x-quicktime;image/qtif;

你可以只增加image/x-nef;image/x-nikon-nef;用于NEF格式,如果你愿意,或者你可以添加所有的RAW格式(我刚刚这样做了):
image/x-3fr;image/x-adobe-dng;image/x-arw;image/x-bay;image/x-canon-cr2;image/x-canon-crw;image/x-cap;image/x-cr2;image/x-crw;image/x-dcr;image/x-dcraw;image/x-dcs;image/x-dng;image/x-drf;image/x-eip;image/x-erf;image/x-fff;image/x-fuji-raf;image/x-iiq;image/x-k25;image/x-kdc;image/x-mef;image/x-minolta-mrw;image/x-mos;image/x-mrw;image/x-nef;image/x-nikon-nef;image/x-nrw;image/x-olympus-orf;image/x-orf;image/x-panasonic-raw;image/x-panasonic-raw2;image/x-pef;image/x-pentax-pef;image/x-ptx;image/x-pxn;image/x-r3d;image/x-raf;image/x-raw;image/x-rw2;image/x-rwl;image/x-rwz;image/x-samsung-srw;image/x-sigma-x3f;image/x-sony-arw;image/x-sony-sr2;image/x-sony-srf;image/x-sr2;image/x-srf;image/x-x3f;

3太棒了,实际的原始处理器每个文件生成缩略图需要几秒钟,对于我的目录来说可能需要一个小时。这样更快速、更有帮助,适合随意浏览。 - Mark Peters
3我可以确认这在Ubuntu 20.04上有效(目前由于某种原因,它没有ufraw或gnome-raw-thumbnailer软件包)。 - Sindhudweep
这比安装额外的软件要好得多,而且渲染速度也更快。真是个很棒的解决方案!在Linux Mint 19.3上经过测试,可正常运行。 - Alexander Köb
这似乎在21.04版本上不能正常工作,原因可能是不支持x-sony-arw格式(A6000)。 - RiquezJP
1在Ubuntu 22 LTS上对NEF文件运行良好。 - igor

你可以安装以下软件包,Nautilus将开始显示NEF文件的缩略图,无需进行任何手动配置。
18.04及更高版本:
sudo apt install libopenraw7 libopenrawgnome7 gnome-raw-thumbnailer

似乎在18.04及以上版本中,libopenraw1libopenrawgnome1已不再可用,它们被libopenraw7libopenrawgnome7所取代。实际上,这两个库似乎并不是生成缩略图所必需的,可以跳过它们。然而,如果包含它们,生成缩略图的速度会更快。

16.04及之前版本:

sudo apt-get install libopenraw1 libopenrawgnome1 gnome-raw-thumbnailer

来源:Ubuntu论坛 - 如何查看尼康NEF原始文件?

1在Ubuntu 18.04上无法工作。找不到libopenraw1和libopenrawgnome1软件包。 - Tomasz Fijałkowski
1这在Ubuntu 18上运行得很好,但是软件包是libopenraw7或-dev,只需删除1和tab,您就能快速看到正确的软件包是什么。我对两者都使用了s/1/-dev - dogmatic69
@dogmatic69 谢谢你的信息!我已经更新了我的答案。然而,没有必要安装-dev包。只需使用libopenraw7libopenrawgnome7即可。 - Dan
2事实上,似乎不需要libopenraw*库,gnome-raw-thumbnailer就足够了。但是安装它们会使缩略图的生成速度大大加快。 - Dan
在Ubuntu 20.04中,我遇到了“无法找到软件包gnome-raw-thumbnailer”的问题。根据https://askubuntu.com/a/1204150/292055的建议,简单地编辑`/usr/share/thumbnailers/gdk-pixbuf-thumbnailer.thumbnailer`文件对我来说在20.04版本中有效。 - SuprMan

ufraw已不再可用,因此为了在20.04中在nautilus中具有缩略图,您需要使用其他方法。我正在使用dcraw,但它只能将文件转换为ppm或tiff格式。而gnome缩略图需要png格式。因此,在这个解决方案中,我使用ImageMagic convert。

以下是我的解决方案:

  1. 安装依赖项:
sudo apt install dcraw ImageMagick

创建一个脚本来合并这两个命令。
sudo nano /sbin/rawthumbnailer

并将以下内容粘贴到其中:

#!/bin/bash

/usr/bin/dcraw -c -w -v -h "${1}" | /usr/bin/convert - -resize x"${2}" png:"${3}"

不要忘记执行标志:
sudo chmod +x /sbin/rawthumbnailer

在/usr/share/thumbnailers中创建缩略图脚本。
sudo nano /usr/share/thumbnailers/raw.thumbnailer

内容应该如下所示

[Thumbnailer Entry]
TryExec=/sbin/rawthumbnailer
Exec=/sbin/rawthumbnailer %i %s %o
MimeType=image/x-canon-cr2;image/x-canon-crw;image/x-minolta-mrw;image/x-nikon-nef;image/x-pentax-pef;image/x-panasonic-raw2;image/x-samsung-srw;image/x-olympus-orf;image/x-3fr;image/x-adobe-dng;image/x-arw;image/x-bay;image/x-canon-cr2;image/x-canon-crw;image/x-cap;image/x-cr2;image/x-crw;image/x-dcr;image/x-dcraw;image/x-dcs;image/x-dng;image/x-drf;image/x-eip;image/x-erf;image/x-fff;image/x-fuji-raf;image/x-iiq;image/x-k25;image/x-kdc;image/x-mef;image/x-minolta-mrw;image/x-mos;image/x-mrw;image/x-nef;image/x-nikon-nef;image/x-nrw;image/x-olympus-orf;image/x-orf;image/x-panasonic-raw;image/x-panasonic-raw2;image/x-pef;image/x-pentax-pef;image/x-ptx;image/x-pxn;image/x-r3d;image/x-raf;image/x-raw;image/x-rw2;image/x-rwl;image/x-rwz;image/x-samsung-srw;image/x-sigma-x3f;image/x-sony-arw;image/x-sony-sr2;image/x-sony-srf;image/x-sr2;image/x-srf;image/x-x3f;

重新启动Nautilus:
nautilus -q

如果您之前尝试过但没有成功,您应该删除缩略图。
rm -rf ~/.cache/thumbnails/*

或者至少是失败的thumbs目录
rm -rf ~/.cache/thumbnails/fail

脚本需要放在/sbin、/bin或/usr目录中,因为生成是使用bwrap进行的,并且只有一些目录被绑定在其中。我尝试按照this将脚本放在主目录中,但对我来说没有起作用。
另外,我无法使其在没有脚本文件的情况下工作。不确定是否可能,但如果可能的话,我更喜欢一个更简单的解决方案,使用更少的文件。

在Ubuntu 18.04中,只需安装`gnome-raw-thumbnailer`即可:
sudo apt-get install gnome-raw-thumbnailer

我正在使用gnome 15.10,对于尼康的.nef和佳能的.cr2格式没有问题,但无法显示尼康的.NRW缩略图。

  • 我只能通过使用dcraw脚本来预览,而不能在gnome-thumnailers中显示。

这是我在nautilus中设置的脚本:

#!/bin/bash
FILES="$@"
for i in $FILES
do
echo "Processing image $i ..."
/usr/bin/dcraw -e  $i thumb.$i
done

当然,在图片的一侧生成一个新的JPEG文件...