Недавно я обнаружил, что Nautilus (по крайней мере, Ubuntu 12.04) может показывать миниатюры файлов неформатных форматов, например (data grapher) grace
files (.agr
) показывает небольшую версию графика, содержащегося в его данные. Очевидно, есть какая-то библиотека или скрипт, который обрабатывает файл, создает изображение и позволяет наутилусу показывать его небольшую версию.
Это заставило меня подумать, что в принципе любой файл, который потенциально может быть обработан в изображение, может служить миниатюрой Nautilus.
Например, файл .tex
(который может быть преобразован в .pdf
) или скрипт gnuplot могут отображаться в виде миниатюры, когда это возможно.
В случае файла .tex
соответствующий код .pdf может быть создан командой pdflatex file.tex
.
Вопрос в том, как я могу сказать Наутилусу создать миниатюру для произвольного формата и как мне указать команды для этого в Наутилусе?
Обновление 2014 ,
Мне все еще не удалось просмотреть что-либо с опубликованным ответом, я создал этот сценарий в /usr/bin/tex-thumbnailer
:
pdflatex $1
convert -density 300 ${1%.*}.pdf -resize 25% $2
и файле /usr/share/thumbnailers/tex.thumbnailer
: [ 1117]
[Thumbnailer Entry]
TryExec=tex-thumbnailer
Exec=tex-thumbnailer %u %o
MimeType=text/x-tex;
Я не могу заставить nautilus генерировать / показывать превью даже для простых файлов TeX. Я не знаю, что я делаю неправильно.
Вот документация относительно того, как добавить новый thumbnailer.
Необходимо добавить два, включает gconf:
Где application@x-foo
MimeType для вида файла, Вы хотите генерировать миниатюры. Набор enable
к Истинному и command
к команде для создания миниатюры.
Добавить один с gconftool-2:
gconftool-2 --set /desktop/gnome/thumbnailers/application@x-foo/enable --type bool true
gconftool-2 --set /desktop/gnome/thumbnailers/application@x-foo/command --type string "application-x-foo-thumbnailer %i %o %s"
Папки создаются автоматически. %i
входной файл, %o
где записать выходной файл (png) и %s
размер миниатюры.
И вот то, как добавить MimeType для пользовательских файлов.
Я нашел иначе, который кажется легче, можно создать файл в /usr/share/thumbnailers/
например, foo.thumbnailer:
[Thumbnailer Entry]
TryExec=/usr/bin/application-x-foo-thumbnailer
Exec=/usr/bin/application-x-foo-thumbnailer %i %o %s
MimeType=application/x-foo;
Можно разделить несколько MimeTypes с ;
.