Недавно у меня был набор моих собственных сценариев для миниатюр в Наутилусе: предварительные просмотры WebP, звуковые формы сигнала, офисные документы и так далее.
Походит на любого, который я делаю что-то не так (измененное поведение поколения миниатюры), или пользовательские миниатюры не работают в последнем GNOME вообще, даже мои предыдущие сценарии, которые работали гладко над предыдущими версиями Ubuntu.
Я провел некоторое исследование, которое попробовали для запущения простого скрипта (см. ниже), и оно не удалось.
Мой тест thumbnailer в /usr/share/thumbnailers/z.thumbnailer
:
[Thumbnailer Entry]
Exec=/home/maximal/thumb.sh %s %i %u %o
MimeType=image/webp;image/x-webp
Где /home/maximal/thumb.sh
:
#!/bin/bash
echo $0 >> /home/maximal/thumb.log
echo $1 >> /home/maximal/thumb.log
echo $2 >> /home/maximal/thumb.log
echo $3 >> /home/maximal/thumb.log
echo $4 >> /home/maximal/thumb.log
Затем когда я удаляю кэш миниатюры rm -rf ~/.cache/thumbnails
и Наутилус перезапуска nautilus -q
, мой файл журнала ничего не содержит и ~/.cache/thumbnails/fail/gnome-thumbnail-factory
содержит все неудавшиеся ползунки (похож, повредил/освободил PNGs):
Так, по-видимому, Наутилус даже не пытался выполнить мой thumbnailer сценарий. Когда я пытаюсь выполнить саму команду ползунка, она работает отлично. Например, convert
через cwebp|dwebp
пакет:
convert -thumbnail 256x256 file.webp png:file.webp.png
Когда я переношу эту команду к thumbnailer, похоже, что даже не требовалось работать Наутилусом.
[Thumbnailer Entry]
Exec=convert -thumbnail %sx%s %i png:%o
MimeType=image/webp;image/x-webp;
Точно та же ситуация происходит с другим моим thumbnailers: аудио формы сигнала, офисные документы, файлы фотошопа и так далее.
Кто-либо мог помочь?
У меня были те же проблемы с некоторыми из моих внешних миниатюр.
После некоторых исследований я понял, что вызов bubblewarp не работает в дистрибутивах на основе Ubuntu и Debian из-за опции - symlink на / bin и / sbin . Фактически, в этих дистрибутивах / bin и / usr / bin не объединяются. Итак, оба должны быть объявлены с помощью - ro-bind вместо --symlink.
Чтобы вызов bwrap из Nautilus работал под Ubuntu, вам необходимо заменить --symlink вызовы с --ro-bind вызовы для / bin и / sbin
Чтобы решить проблему скорости работы с миниатюрами с использованием инструментов imagemagick, вам также необходимо добавить --ro-bind для / etc / alternatives и / var / cache / fontconfig
Итак, самое простое решение - поместить сценарий оболочки в / usr / local / bin / bwrap , который будет выполнять эту работу, а затем вызвать исходный / usr / bin / bwrap. Поскольку / usr / local / bin находится перед / usr / bin в PATH, он прозрачен для Nautilus.
Сценарий оболочки доступен в моем репозитории Github
Я написал небольшую статью, чтобы объяснить все в деталях и предоставить инструкцию по установке сценария оболочки. Он был протестирован под 18.04 и 18.10
http://bernaerts.dyndns.org/linux/360-ubuntu-nautilus-external-thumbnailer-failure
Надеюсь, это поможет
Я использую 18.04, но после обновления 2018.11.28 у меня возникла такая же проблема. Это вызвано тем, что эскизы программ в песочнице были помещены в пузырчатую пленку (это стоило мне 2 дней исследования !!!).
Поэтому я понизил версию gnome-desktop3-data
, gir1.2-gnomedesktop-3.0
, libgnome-desktop-3-17
(не уверен, нужны ли все 3), а затем удалил пузырчатую пленку.
Это грязный хакер, который ослабляет безопасность, но мне все равно .. .
Может быть, 18.10 будет не так просто.
Надеюсь, кто-нибудь сможет написать лучшее решение ...
Я использую 18.04, и мне не удалось заставить работать решение с помощью сценария bwrap. Где-то на моем домашнем пути есть миниатюра, которая работает под 16.04. Я могу решить ее в 18.04, поместив эту программу в /usr/bin.