Miniaturas (vistas previas de Nautilus) para archivos de imagen "básicos" (xpm, png, bmp, gif)

8

Nautilus no estaba generando miniaturas para algunos xpmarchivos que tenía, así que traté de investigar quién era el responsable de generar miniaturas para los archivos xpm (si los hubiera), o cualquier imagen para el caso. Y me topé con un muro de desinformación, especificaciones obsoletas y búsquedas frustradas.

Entonces, ¿ dónde está definido el thumbnailer para tales imágenes "básicas"? Lo he comprobado /usr/share/thumbnailersy solo menciona archivos pdf, exe y de video. No se menciona png, jpg bmp, etc. ¿Dónde se definen las miniaturas de las imágenes? ¿Cuáles son las referencias oficiales al respecto?

MestreLion
fuente
Que es extraño, minas muestra seguro de ellos. ¿Puedes agregar una captura de pantalla? ¿y qué versión de Nautilus estás usando ?, ¿has probado con la configuración de Nautilus? (Editar> Preferencias> Vista previa)?
Uri Herrera

Respuestas:

13

Excavando más (e investigando MUCHO), lo descubrí:

Acerca de las miniaturas de imágenes: parece que Nautilus usa libgnome-desktoppara la administración de miniaturas, y este último usa libgdk-pixbufpara manejar tipos de archivos que no tienen un controlador externo /usr/share/thumbnailers. Por lo tanto, los tipos de imagen "básicos" son manejados en última instancia por GnomeDesktopThumbnailFactory y GdkPixbuf (se muestran referencias para las versiones enviadas en Ubuntu 12.04). Y los formatos que maneja se pueden inspeccionar con la gdk-pixbuf-query-loadersherramienta. En mi sistema esto significa:

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']

Así que estos son los thumbnailers "internos". Y sí incluye xpmarchivos. Entonces, algo estaba mal con mis archivos particulares.

Y, de hecho, los archivos no eran estándar, tenían una nota de copyright antes del /* XPM *encabezado:

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

/* XPM */
static const char *atiicon_xpm[] = {

Una vez que se eliminaron los comentarios, se generaron miniaturas solo archivo.

Es curioso que incluso con el encabezado "no válido", el visor de imágenes predeterminado en Gnome ("Eye of The Gnome", o eog) pudo mostrar los archivos. Entonces, o los archivos no son realmente inválidos, ¡o felicitaciones eogpor poder abrirlos! De todos modos, dado que es posible abrir, y también lo eogusa gdk-pixbuf, he rellenado un error allibgnome-desktop solicitar que se generen miniaturas para esos xpmarchivos no estándar . ¡Se agradece cualquier ayuda para promocionar el error!

Además, algunas notas sobre mi investigación:

ThumbnailerSpec se menciona en varios lugares como la especificación para "miniaturas externas". ¡Pero no tiene nada que ver con esto! Habla sobre el uso de D-Bus para la gestión de miniaturas, y nada indica que dicha especificación se implemente realmente en Gnome.

En realidad, no pude encontrar ninguna especificación oficial sobre el comportamiento implementado de "guardar un .thumbnailerarchivo con [Thumbnailer Entry]un formato .desktop-esque en /usr/share/thumbnailers" . El error 636819 se cita mucho como fuente, pero solo describe que el comportamiento se cambió en la transición Gnome2-> Gnome3, y ya no se usa gconfpara almacenar miniaturas externas.

Parece que no hay especificaciones en absoluto. Esta documentación obsoleta sigue siendo la única referencia oficial, por ejemplo, sobre qué %i %o %u %ssignifica.

Y el único lugar "oficial" que anuncia el cambio de gconfa /usr/share/thumbnailers, además de buscar el código fuente que lo hizo, es este informe de error aparentemente normal .

MestreLion
fuente
2
¡Ojalá pudiera votar más por su análisis y seguimiento exhaustivos! Probablemente referiré a otros a esto en el futuro como una respuesta personal ejemplar.
ændrük
Gracias @ ændrük! He pasado más de 12 horas investigando esto y reuniendo toda la información relevante dispersa por toda la web. Esta respuesta fue una auto-nota de mis hallazgos, y me alegra si puede evitar que otros pierdan el tiempo en esto como lo hice yo. Se agradecen los votos, gracias.
MestreLion