web-dev-qa-db-ja.com

「基本」(xpm、png、bmp、gif)画像ファイルのサムネイル(Nautilusプレビュー)

Nautilusはいくつかのxpmファイルのサムネイルを生成していなかったので、調査しようとしましたwhoはxpmファイル(存在する場合)、またはその問題の画像のサムネイルを生成する責任がありました。そして、私は誤った情報、時代遅れの仕様、イライラした検索の壁に出くわしました。

それで、whereは、そのような「基本的な」画像のサムネラーが定義されていますか? /usr/share/thumbnailersを確認しましたが、PDF、exe、およびビデオファイルのみに言及しています。 png、jpg、bmpなどに関する言及はありません。画像のサムネイルはどこで定義されていますか?ワットはそれについての公式の参考文献ですか?

8
MestreLion

さらに掘り下げて(そしてLOTを調査して)、私はそれを理解しました:

画像サムネールについて: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']

したがって、これらは「内部」サムネラーです。また、xpmファイルも含まれます。そのため、代わりに特定のファイルに何か問題がありました。

実際、ファイルは標準ではなく、/* XPM *ヘッダーの前に著作権情報があります。

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

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

コメントが削除されると、サムネイルはファイルだけで生成されました。

「無効な」ヘッダーがある場合でも、Gnomeのデフォルトの画像ビューアー(「Eye of The Gnome」、またはeog)がファイルを表示できたのは不思議です!したがって、ファイルが実際に無効ではないか、ファイルを開くことができることをeogに賞賛します。とにかく、それはis開くことができ、eoggdk-pixbufも使用するので、 filled a libgnome-desktop のバグ。このような非標準のxpmファイルに対してサムネールを生成するように要求します。バグの宣伝にご協力ください。

また、私の研究に関するいくつかのメモ:

ThumbnailerSpec は、「外部サムネイル」の仕様としていくつかの場所で言及されています。しかし、これは何の関係もありません!サムネイル管理にD-Busを使用することについて説明していますが、そのような仕様が実際にGnomeに実装されていることを示すものはありません。

実際、anyの実装された動作に関する公式仕様 "sを保存できませんでした.thumbnailer[Thumbnailer Entry]および.desktop-esque形式のファイルを/usr/share/thumbnailers "に変換します。 Bug 636819 はソースとして多く引用されていますが、Gnome2からGnome3への移行で動作が変更されたことのみを説明し、外部サムネイルを保存するためにgconfを使用しなくなりました。

no仕様があるように見えます。この 廃止されたドキュメント は、only公式リファレンスであり、たとえば%i %o %u %sの意味についてです。

そして、gconfから/usr/share/thumbnailersへの変更を発表する唯一の「公式の」場所は、それを行った ソースコードコミット を探し出すこと以外は、これ 一見普通です)バグレポート

13
MestreLion