Tìm hiểu thêm (và nghiên cứu RẤT NHIỀU), tôi đã hiểu ra:
Về công cụ thu nhỏ hình ảnh: Dường như Nautilus sử dụng libgnome-desktop
để quản lý hình thu nhỏ và sau này sử dụng libgdk-pixbuf
để xử lý các loại tệp không có trình xử lý bên ngoài /usr/share/thumbnailers
. Vì vậy, các loại hình ảnh "cơ bản" cuối cùng được xử lý bởi GnomeDesktopThumbnailFactory và GdkPixbuf (tài liệu tham khảo được hiển thị cho các phiên bản được gửi trong Ubuntu 12.04). Và các định dạng mà nó xử lý có thể được kiểm tra bằng cách sử dụng gdk-pixbuf-query-loaders
công cụ. Trong hệ thống của tôi, điều này có nghĩa là:
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']
Vì vậy, đây là những hình thu nhỏ "nội bộ". Và nó bao gồm xpm
các tập tin. Vì vậy, một cái gì đó đã sai với các tập tin cụ thể của tôi thay vào đó.
Và thực sự các tệp không chuẩn, chúng có ghi chú bản quyền trước /* XPM *
tiêu đề:
// This file is part of BOINC.
// http://boinc.berkeley.edu
//
/* XPM */
static const char *atiicon_xpm[] = {
Khi các bình luận đã bị xóa, hình thu nhỏ được tạo ra chỉ là tập tin.
Thật tò mò rằng ngay cả với tiêu đề "không hợp lệ", Trình xem hình ảnh mặc định trong Gnome ("Eye of The Gnome" hoặc eog
) đã có thể hiển thị các tệp! Vì vậy, một trong hai tập tin không thực sự không hợp lệ, hoặc danh tiếng để eog
có thể mở chúng! Dù sao, vì nó là có thể mở và eog
sử dụng gdk-pixbuf
quá, tôi đã điền một lỗi tronglibgnome-desktop
yêu cầu rằng thumbnailers được tạo ra cho phi tiêu chuẩn như xpm
tập tin. Bất kỳ trợ giúp thúc đẩy các lỗi được đánh giá cao!
Ngoài ra, một số lưu ý về nghiên cứu của tôi:
ThumbnailerSpec được đề cập ở một số nơi như là đặc điểm kỹ thuật cho "hình thu nhỏ bên ngoài". Nhưng nó không có gì để làm với điều này! Nó nói về việc sử dụng D-Bus để quản lý hình thu nhỏ và không có gì chỉ ra rằng thông số đó thực sự được triển khai trong Gnome.
Trên thực tế, tôi không thể tìm thấy bất kỳ thông số chính thức nào về hành vi đã thực hiện là "lưu .thumbnailer
tệp với [Thumbnailer Entry]
định dạng và .desktop-esque /usr/share/thumbnailers
" . Bug 636819 được trích dẫn rất nhiều dưới dạng nguồn, nhưng nó chỉ mô tả hành vi đó đã được thay đổi trong quá trình chuyển đổi Gnome2-> Gnome3 và nó không còn được sử dụng gconf
để lưu trữ các hình thu nhỏ bên ngoài.
Có vẻ như không có thông số kỹ thuật nào cả. Tài liệu lỗi thời này vẫn là tài liệu tham khảo chính thức duy nhất , ví dụ, về ý %i %o %u %s
nghĩa của nó.
Và nơi "chính thức" duy nhất thông báo thay đổi từ gconf
sang /usr/share/thumbnailers
, ngoài việc tìm kiếm cam kết mã nguồn đã làm điều đó, là báo cáo lỗi dường như bình thường này .