Миниатюры (превью Nautilus) для «базовых» (xpm, png, bmp, gif) файлов изображений

8

Наутилус не генерировал миниатюры для некоторых xpmфайлов, которые у меня были, поэтому я попытался выяснить, кто отвечал за генерацию миниатюр для файлов xpm (если есть) или любого изображения в этом отношении. И я наткнулся на стену дезинформации, устаревших спецификаций и разочарованных поисков.

Итак, где определяется краткая информация для таких «базовых» изображений? Я проверил, /usr/share/thumbnailersи он упоминает только PDF, EXE и видео файлы. Нет упоминания о png, jpg bmp и т. Д. Где определены эскизы изображений? Wat официальные ссылки об этом?

MestreLion
источник
Это является странным, шахтным уверен , показывает их. Можете добавить скриншот? и какую версию Nautilus вы используете?, вы пробовали с настройками в Nautilus? (Edit> Preferences> Просмотр) ?.
Ури Эррера

Ответы:

13

Копая дальше (и исследуя ЛОТ), я понял это:

О миниатюрах изображений: кажется, что Nautilus использует 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']

Так что это «внутренние» thumbnailers. И это включает в себя 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 запросе , что thumbnailers генерироваться для таких нестандартных xpmфайлов. Любая помощь в продвижении ошибки приветствуется!

Также некоторые заметки о моих исследованиях:

ThumbnailerSpec упоминается в нескольких местах как спецификация для «внешних миниатюр». Но это не имеет к этому никакого отношения! В нем говорится об использовании D-Bus для управления миниатюрами, и ничто не указывает на то, что такая спецификация действительно реализована в Gnome.

На самом деле, я не смог найти никакой официальной спецификации о реализованном поведении «сохранения .thumbnailerфайла в формате [Thumbnailer Entry].desktop-esque в /usr/share/thumbnailers» . Ошибка 636819 часто цитируется как источник, но она описывает только то, что поведение было изменено при переходе Gnome2-> Gnome3, и оно больше не используется gconfдля хранения внешних миниатюр.

Похоже, что спецификаций нет вообще. Эта устаревшая документация до сих пор является единственной официальной ссылкой, например, о том, что %i %o %u %sозначает.

И единственное «официальное» место, объявляющее об изменении с gconfна /usr/share/thumbnailers, кроме того, что выискивает коммит исходного кода, который это сделал, - это, казалось бы, обычный отчет об ошибках .

MestreLion
источник
2
Хотел бы я поблагодарить это больше за ваш тщательный анализ и проработку! Я, скорее всего, буду ссылаться на это в будущем как на пример самоотдачи.
rndrük
Спасибо @ ændrük! Я потратил около 12 часов, исследуя это и собирая всю необходимую информацию, разбросанную по всей сети. Этот ответ был задуман как самостоятельная заметка о моих результатах, и я рад, что он может избавить других от траты времени на это, как я. Высоко оценили, спасибо.
MestreLion