Kürzlich hatte ich eine Reihe meiner eigenen Skripte für die Miniaturansichten in Nautilus: WebP-Vorschau , Sound-Wellenformen , Office-Dokumente und so weiter.
Es scheint, als ob ich entweder etwas falsch mache (Verhalten bei der Generierung von Miniaturansichten geändert) oder benutzerdefinierte Miniaturansichten in der neuesten Version von GNOME überhaupt nicht funktionieren, selbst in meinen vorherigen Skripten, die in früheren Versionen von Ubuntu reibungslos funktionierten.
Ich habe einige Nachforschungen angestellt, versucht, ein einfaches Skript auszuführen (siehe unten), und es hat nicht funktioniert.
Mein Test-Thumbnailer in /usr/share/thumbnailers/z.thumbnailer
:
[Thumbnailer Entry]
Exec=/home/maximal/thumb.sh %s %i %u %o
MimeType=image/webp;image/x-webp
Wo /home/maximal/thumb.sh
ist:
#!/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
Wenn ich dann den Miniaturbild-Cache entferne rm -rf ~/.cache/thumbnails
und Nautilus neu starte nautilus -q
, enthält meine Protokolldatei nichts und ~/.cache/thumbnails/fail/gnome-thumbnail-factory
enthält alle fehlgeschlagenen Daumen (sieht aus wie beschädigte / leere PNGs):
Anscheinend hat Nautilus also nicht einmal versucht, mein Thumbnailer-Skript auszuführen. Wenn ich versuche, den Daumenbefehl selbst auszuführen, funktioniert er einwandfrei. Zum Beispiel convert
durch cwebp|dwebp
Paket:
convert -thumbnail 256x256 file.webp png:file.webp.png
Wenn ich diesen Befehl in eine Miniaturansicht einbinde, wurde er anscheinend nicht einmal von Nautilus ausgeführt.
[Thumbnailer Entry]
Exec=convert -thumbnail %sx%s %i png:%o
MimeType=image/webp;image/x-webp;
Genau die gleiche Situation tritt bei anderen meiner Miniaturansichten auf: Audio-Wellenformen, Office-Dokumente, Photoshop-Dateien und so weiter.
Könnte jemand helfen?
Antworten:
Ich habe mit einigen meiner externen Miniaturansichten die gleichen Probleme gehabt.
Nach einigen Recherchen wurde mir klar, dass der Bubblewarp-Aufruf unter Ubuntu- und Debian-basierten Distributionen aufgrund der Option --symlink für / bin und / sbin fehlschlägt . Tatsächlich werden unter diesen Distributionen / bin und / usr / bin nicht zusammengeführt. Daher sollten beide mit --ro-bind anstelle von --symlink deklariert werden.
Damit der bwrap- Aufruf von Nautilus unter Ubuntu funktioniert, müssen Sie --symlink-Aufrufe durch --ro-bind-Aufrufe für / bin und / sbin ersetzen
Um das Geschwindigkeitsproblem mit Miniaturansichten mithilfe von Imagemagick-Tools zu lösen, müssen Sie außerdem eine --ro-Bindung für / etc / alternatives und / var / cache / fontconfig hinzufügen
Die einfachste Lösung besteht also darin, ein Wrapper-Skript unter / usr / local / bin / bwrap zu platzieren, das die Aufgabe übernimmt, und dann original / usr / bin / bwrap aufzurufen. Da / usr / local / bin im PATH vor / usr / bin steht, ist es für Nautilus transparent.
Wrapper-Skript ist auf meinem Github-Repo verfügbar
Ich habe einen kleinen Artikel geschrieben, um alles im Detail zu erklären und Anweisungen zur Installation des Wrapper-Skripts bereitzustellen. Es wurde unter 18.04 und 18.10 getestet
http://bernaerts.dyndns.org/linux/360-ubuntu-nautilus-external-thumbnailer-failure
Ich hoffe es hilft
quelle
/etc/alternatives
... Siehe meinen Fehlerbericht ... Danke!/usr/bin/bwrap --ro-bind /etc/alternatives /etc/alternatives --ro-bind /var/cache/fontconfig /var/cache/fontconfig "${ARR_PARAM[@]}"
um dieses Problem zu lösen, lösen Sie die/etc/alternatives
eine und die enorme Verlangsamung der Schriftgenerierung ...Ich verwende 18.04, aber nach dem Update 2018.11.28 hatte ich das gleiche Problem. Es wird durch Sandboxing Thumbnailer mit Luftpolsterfolie verursacht (es hat mich 2 Tage Forschung gekostet !!!).
Also ich herabgestuft
gnome-desktop3-data
,gir1.2-gnomedesktop-3.0
,libgnome-desktop-3-17
(nicht sicher , ob alle 3 erforderlich) und dann entfernt bubblewrap.Es ist ein schmutziger Hack und es schwächt die Sicherheit, aber es ist mir egal ...
Vielleicht wird es am 18.10 nicht so einfach.
Ich hoffe jemand kann eine bessere Lösung schreiben ...
quelle
Ich verwende 18.04 und konnte die Lösung mit dem bwrap-Skript nicht zum Laufen bringen. Ich habe irgendwo in meinem Heimatpfad eine Miniaturansicht, die unter 16.04 funktioniert. Ich kann es in 18.04 lösen, indem ich dieses Programm in / usr / bin lege.
quelle