“基本”(xpm、png、bmp、gif)图像文件的缩略图(Nautilus 预览)

Mes*_*ion 8 nautilus thumbnails

Nautilus 没有为xpm我拥有的某些文件生成缩略图,因此我试图调查负责为 xpm 文件(如果有)或任何图像生成缩略图。我偶然发现了一堆错误信息、过时的规格和沮丧的搜索。

那么,这种“基本”图像的缩略图在哪里定义?我查过了/usr/share/thumbnailers,它只提到了 pdf、exe 和视频文件。没有提到png,jpg bmp等。图像的缩略图在哪里定义?Wat是关于它的官方参考吗?

Mes*_*ion 14

进一步挖掘(并研究了很多),我想通了:

关于图像缩略图:似乎 Nautiluslibgnome-desktop用于缩略图管理,后者用于libgdk-pixbuf处理/usr/share/thumbnailers. 因此,“基本”图像类型最终由GnomeDesktopThumbnailFactoryGdkPixbuf(为 Ubuntu 12.04 中提供的版本显示的参考)处理。并且可以使用该gdk-pixbuf-query-loaders工具检查它处理的格式。在我的系统中,这意味着:

The GdkPixdata format
['gdkp']
['image/x-gdkpixdata']

The Sun raster image format
['ras']
['image/x-cmu-raster', 'image/x-sun-raster']

The PNG image format
['png']
['image/png']

The WBMP image format
['wbmp']
['image/vnd.wap.wbmp']

The JPEG image format
['jpeg', 'jpe', 'jpg']
['image/jpeg']

The ANI image format
['ani']
['application/x-navi-animation']

The TIFF image format
['tiff', 'tif']
['image/tiff']

The XBM image format
['xbm']
['image/x-xbitmap']

The PCX image format
['pcx']
['image/x-pcx']

The Targa image format
['tga', 'targa']
['image/x-tga']

The PNM/PBM/PGM/PPM image format family
['pnm', 'pbm', 'pgm', 'ppm']
['image/x-portable-anymap', 'image/x-portable-bitmap',
 'image/x-portable-graymap', 'image/x-portable-pixmap']

The JPEG 2000 image format
['jp2', 'jpc', 'jpx', 'j2k', 'jpf']
['image/jp2', 'image/jpeg2000', 'image/jpx']

The ICNS image format
['icns']
['image/x-icns']

The BMP image format
['bmp']
['image/bmp', 'image/x-bmp', 'image/x-MS-bmp']

Windows Metafile
['wmf', 'apm']
['image/x-wmf']

The QTIF image format
['qtif', 'qif']
['image/x-quicktime', 'image/qtif']

Scalable Vector Graphics
['svg', 'svgz', 'svg.gz']
['image/svg+xml', 'image/svg', 'image/svg-xml', 'image/vnd.adobe.svg+xml',
 'text/xml-svg', 'image/svg+xml-compressed']

The ICO image format
['ico', 'cur']
['image/x-icon', 'image/x-ico', 'image/x-win-bitmap']

The XPM image format
['xpm']
['image/x-xpixmap']

The GIF image format
['gif']
['image/gif']
Run Code Online (Sandbox Code Playgroud)

所以这些是“内部”缩略图。它确实包含xpm文件。所以我的特定文件有问题。

确实这些文件不是标准的,它们在/* XPM *标题之前有版权说明:

// This file is part of BOINC.
// http://boinc.berkeley.edu
//

/* XPM */
static const char *atiicon_xpm[] = {
Run Code Online (Sandbox Code Playgroud)

删除评论后,生成的缩略图只是文件。

奇怪的是,即使使用“无效”标题,Gnome 中的默认图像查看器(“侏儒之眼”,或eog)也能够显示文件!所以要么文件实际上不是无效的,要么eog因为能够打开它们而受到称赞!无论如何,因为它可以打开和eog使用gdk-pixbuf过,我在充满错误libgnome-desktop,请求thumbnailers对于这种非标准生成xpm的文件。任何促进该错误的帮助表示赞赏!

另外,关于我的研究的一些笔记:

ThumbnailerSpec在几个地方被提到作为“外部缩略图”的规范。但这与此无关!它谈到使用 D-Bus 进行缩略图管理,但没有任何迹象表明此类规范实际上是在 Gnome 中实现的。

其实,我无法找到任何有关的实施行为官方规格“保存.thumbnailer与文件[Thumbnailer Entry]和的.desktop式的格式/usr/share/thumbnailers错误 636819多次引用作为来源,但它仅描述行为在 Gnome2->Gnome3 转换中发生了变化,并且不再用于gconf存储外部缩略图。

看起来根本没有规范。这个过时的文档仍然是唯一的官方参考,例如,关于什么%i %o %u %s意思。

唯一宣布从gconf到更改的“官方”地方/usr/share/thumbnailers,除了追查执行此操作的源代码提交之外,就是这个看似普通的错误报告

  • 我希望我能为您的深入分析和跟进提供更多支持!将来我可能会向其他人提及此问题,作为自我回答的典范。 (2认同)