Наутилус не генерировал миниатюры для некоторых xpm
файлов, которые у меня были, поэтому я попытался выяснить , кто отвечал за генерацию миниатюр для файлов xpm (если есть) или любого изображения в этом отношении. И я наткнулся на стену дезинформации, устаревших спецификаций и разочарованных поисков.
Итак, где - это указатель для таких «базовых» изображений? Я проверил /usr/share/thumbnailers
, и в нем упоминаются только файлы PDF, EXE и видео. Нет упоминания о png, jpg bmp и т. Д. Где определены эскизы изображений? Ват официальные ссылки об этом?
Продолжая копаться (и исследуя LOT), я понял это:
О миниатюрах изображений: кажется, что Наутилус использует libgnome-desktop
для управления миниатюрами, а последний использует libgdk-pixbuf
для обработки файлов типы, которые не имеют внешнего обработчика в /usr/share/thumbnailers
. Таким образом, «базовые» типы изображений в конечном итоге обрабатываются GnomeDesktopThumbnailFactory и GdkPixbuf (ссылки показаны для версий, поставляемых в 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']
Итак, эти являются «внутренними» уменьшителями. И он включает в себя xpm
файлов. Так что что-то не так с моими конкретными файлами.
И действительно, файлы не были стандартными, они имели примечание об авторских правах до заголовка /* XPM *
:
// This file is part of BOINC.
// http://boinc.berkeley.edu
//
/* XPM */
static const char *atiicon_xpm[] = {
Как только комментарии были удалены, миниатюры были сгенерированы просто файлом.
Любопытно, что даже с «недопустимым» заголовком программа просмотра изображений по умолчанию в Gnome («Глаз Гнома», или eog
) могла отображать файлы! Так что либо файлы на самом деле не являются недействительными, либо слава eog
за возможность открыть их! В любом случае, так как можно открыть, а eog
тоже использует gdk-pixbuf
, я заполнил ошибку в libgnome-desktop
, требуя, чтобы генерировались пиктограммы для таких не стандартные xpm
файлы. Любая помощь в продвижении ошибки приветствуется!
Кроме того, некоторые заметки о моем исследовании:
ThumbnailerSpec упоминается в нескольких местах в качестве спецификации для «внешних миниатюр». Но это не имеет к этому никакого отношения! В нем говорится об использовании D-Bus для управления пиктограммами, и ничто не указывает на то, что такая спецификация действительно реализована в Gnome.
На самом деле, я не смог найти никакой официальной спецификации о реализованном поведении «сохранения файла .thumbnailer
с форматом [Thumbnailer Entry]
и .desktop-esque в /usr/share/thumbnailers
» [ 1132]. Ошибка 636819 часто цитируется как источник, но она описывает только то, что поведение было изменено при переходе Gnome2-> Gnome3, и больше не использует gconf
для хранения внешних миниатюрных файлов.
Похоже, что нет спецификации вообще. Эта устаревшая документация все еще является только официальным справочным документом, например, о том, что означает %i %o %u %s
.
И единственное «официальное» место, объявляющее об изменении с gconf
на /usr/share/thumbnailers
, за исключением того, что было выполнено коммит исходного кода , сделавшего это, - это , казалось бы, обычный отчет об ошибке [ 1128].