Пользовательские thumbnailers не работают над Ubuntu 18.10 и 18.04

Недавно у меня был набор моих собственных сценариев для миниатюр в Наутилусе: предварительные просмотры 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):

Failed thumbnail file

Так, по-видимому, Наутилус даже не пытался выполнить мой 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: аудио формы сигнала, офисные документы, файлы фотошопа и так далее.

Кто-либо мог помочь?

8
задан 14 December 2018 в 10:03

3 ответа

У меня были те же проблемы с некоторыми из моих внешних миниатюр.

После некоторых исследований я понял, что вызов 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

Надеюсь, это поможет

6
ответ дан 23 November 2019 в 06:20

Я использую 18.04, но после обновления 2018.11.28 у меня возникла такая же проблема. Это вызвано тем, что эскизы программ в песочнице были помещены в пузырчатую пленку (это стоило мне 2 дней исследования !!!).

Поэтому я понизил версию gnome-desktop3-data , gir1.2-gnomedesktop-3.0 , libgnome-desktop-3-17 (не уверен, нужны ли все 3), а затем удалил пузырчатую пленку.

Это грязный хакер, который ослабляет безопасность, но мне все равно .. .

Может быть, 18.10 будет не так просто.

Надеюсь, кто-нибудь сможет написать лучшее решение ...

7
ответ дан 23 November 2019 в 06:20

Я использую 18.04, и мне не удалось заставить работать решение с помощью сценария bwrap. Где-то на моем домашнем пути есть миниатюра, которая работает под 16.04. Я могу решить ее в 18.04, поместив эту программу в /usr/bin.

0
ответ дан 23 November 2019 в 06:20

Другие вопросы по тегам:

Похожие вопросы: