Miniaturas (visualizações do Nautilus) para arquivos de imagem “básicos” (xpm, png, bmp, gif)

8

O Nautilus não estava gerando miniaturas para alguns xpmarquivos que eu tinha, então tentei investigar quem era responsável por gerar miniaturas para arquivos xpm (se houver) ou qualquer imagem para esse assunto. E tropecei em uma parede de informações erradas, especificações obsoletas e pesquisas frustradas.

Então, onde está definido o miniatura para essas imagens "básicas"? Eu verifiquei /usr/share/thumbnailerse só menciona arquivos pdf, exe e vídeo. Nenhuma menção a png, jpg bmp, etc. Onde são definidas as miniaturas das imagens? Quais são as referências oficiais sobre isso?

MestreLion
fonte
Ele é estranhas, mina certeza lhes mostra. Você pode adicionar uma captura de tela? e qual versão do Nautilus você está usando ?, você já tentou com as configurações do Nautilus? (Editar> Preferências> Visualizar) ?.
precisa saber é o seguinte

Respostas:

13

Indo além (e pesquisando MUITO), eu descobri:

Sobre miniaturas de imagens: parece que o Nautilus usa libgnome-desktoppara gerenciamento de miniaturas, e o último usa libgdk-pixbufpara manipular tipos de arquivos que não possuem manipulador externo /usr/share/thumbnailers. Portanto, os tipos de imagem "básicos" são gerenciados por GnomeDesktopThumbnailFactory e GdkPixbuf (referências mostradas para versões fornecidas no Ubuntu 12.04). E os formatos que ele manipula podem ser inspecionados usando a gdk-pixbuf-query-loadersferramenta. No meu sistema, isso 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']

Portanto, esses são os miniaturizadores "internos". E inclui xpmarquivos. Então, algo estava errado com meus arquivos específicos.

E, de fato, os arquivos não eram padrão, eles tinham uma nota de direitos autorais antes do /* XPM *cabeçalho:

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

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

Depois que os comentários foram removidos, as miniaturas foram geradas apenas como arquivo.

É curioso que, mesmo com o cabeçalho "inválido", o Image Viewer padrão no Gnome ("Eye of The Gnome", ou eog) tenha sido capaz de exibir os arquivos! Portanto, os arquivos não são realmente inválidos ou parabéns eogpor poder abri-los! De qualquer forma, como é possível abrir e eogusa gdk-pixbuftambém, preenchi um erro aolibgnome-desktop solicitar que sejam gerados miniaturizadores para esses xpmarquivos não padrão . Qualquer ajuda para promover o bug é apreciada!

Além disso, algumas notas sobre minha pesquisa:

ThumbnailerSpec é mencionado em vários lugares como a especificação para "miniaturizadores externos". Mas não tem nada a ver com isso! Ele fala sobre o uso do D-Bus para gerenciamento de miniaturas, e nada indica que essa especificação seja realmente implementada no Gnome.

Na verdade, não consegui encontrar nenhuma especificação oficial sobre o comportamento implementado de "salvar um .thumbnailerarquivo com o [Thumbnailer Entry]formato .desktop-esque em /usr/share/thumbnailers" . O bug 636819 é muito citado como fonte, mas apenas descreve que o comportamento foi alterado na transição do Gnome2-> Gnome3, e não é mais usado gconfpara armazenar miniaturas externas.

Parece que não especificações. Essa documentação obsoleta ainda é a única referência oficial, por exemplo, sobre o que %i %o %u %ssignifica.

E o único lugar "oficial" anunciando a mudança de gconfpara /usr/share/thumbnailers, além de procurar o commit do código-fonte que fez isso, é este aparentemente comum relatório de erro .

MestreLion
fonte
2
Eu gostaria de poder votar mais para sua análise e acompanhamento completos! Provavelmente, referirei outros a isso no futuro como uma auto-resposta exemplar.
ændrük
Obrigado @ ændrük! Passei mais de 12 horas investigando isso e reunindo todas as informações relevantes espalhadas por toda a web. Essa resposta foi concebida como uma nota pessoal de minhas descobertas, e fico feliz se isso pode poupar os outros de perder tempo com isso, como eu fiz. Upvotes são apreciados, obrigado.
usar o seguinte comando