Wie kann ich eine Vorschau von DDS- und WEBP-Bildern auf Nautilus anzeigen?

9

Ich habe zu viele Bilder, um sie visuell zu durchsuchen, daher kann ich nicht jedes einzeln öffnen.

Was muss ich tun oder installieren, um die Vorschau von DDS-Bildern auf nautilus anzuzeigen?

Wenn möglich, möchte ich auch eine Vorschau von webp anzeigen.

Wassermann-Kraft
quelle

Antworten:

14

Erstellen Sie Dateien /usr/share/thumbnailersmit folgenden Namen und Inhalten:

DDS

Von hier aus : Schreiben an dds.thumbnailer:

[Thumbnailer Entry]
Exec=/usr/bin/convert -thumbnail x%s %i png:%o
MimeType=image/x-dds;

WEBP

Basierend darauf . Schreiben Sie an webp.thumbnailer:

[Thumbnailer Entry]
Exec=/usr/bin/dwebp %i -scale 100 100 -o %o
MimeType=image/x-webp;image/webp;

und starten Sie nautilus neu, nachdem Sie es vollständig beendet haben nautilus -q.

Wie von @PereJoanMartorell gezeigt, musste ich ~/.cache/thumbnails/failzumindest die darin enthaltenen Dateien entfernen .

Hinweis : Das Problem bei diesem Webp-Ansatz besteht darin, dass alle Miniaturansichten 100 x 100 Pixel groß sind. Aber dieses Skript funktioniert einwandfrei (obs.: Am 18.04 funktioniert es nur nemo, auf nautilus werden die Thumbnails nicht generiert, aber es wird visualisiert).

Wassermann-Kraft
quelle
4
Wenn Sie die 100 durch% s ersetzen, erhalten Sie die entsprechende Größe. So: Exec = / usr / bin / dwebp% i-Skala% s% s -o% o
Liminal
@Liminal Ich musste es auf MIME aktualisieren image/webpund habe es getestet, -scale %s %saber das gab mir auch quadratische Thumbnails von 256x256. Andererseits berechnet das Skript die richtige proportionale Miniaturbildgröße für x oder y und gibt sie an. Ubuntu 16.04 hier
Wassermann Power
1
Hier fehlt ein Schritt. Sie müssen alle zwischengespeicherten Miniaturansichten löschen, damit Nautilus sie erneut generieren kann: rm ~/.cache/thumbnails/fail/gnome-thumbnail-factory/* rm ~/.cache/thumbnails/large/* rm ~/.cache/thumbnails/normal/* killall nautilus
Pere Joan Martorell
@ pj.martorell interessant, ich erinnere mich wirklich nicht daran, dass ich das tun musste, aber anscheinend habe ich wahrscheinlich xD gemacht, übrigens könnte es auch seinnautilus -q
Aquarius Power
1

Eine ziemlich umfassende Anleitung zur Vorschau von WebP- Bildern auf Nautilus ( basierend auf der Antwort und dem von @AquariusPower vorgeschlagenen Skript ):

1. Installieren Sie das webpPaket

sudo apt-get install webp

Dieses Paket enthält die Tools vwebpund dwebpTools, mit denen WebP-Bilder in kleinere PNG-Miniaturansichten konvertiert werden.

2. Überprüfen Sie die MimeTypeWebP-Dateien

  • Klicken Sie im Dateimanager mit der rechten Maustaste auf ein WebP-Bild (Nautilus, Nemo usw.) und wählen Sie Eigenschaften .
  • In der Grund Registerkarte Navigieren Sie zu Typ Linie und sehen , was auf der rechten Seite in den Klammern ist. Dies ist normalerweise der Fall, image/webpkann es aber auch sein image/x-webp, audio/x-riffoder in meinem Fall application/x-wine-extension-webp(weil ich einen Windows-Bildbetrachter mit Wine zum Anzeigen von WebP verwende). Denken MimeTypeSie daran, dass es kurz danach verwendet wird.

3. Erstellen Sie eine Datei mit dem Namen webp-thumbnailer-binin/usr/bin

sudo nano /usr/bin/webp-thumbnailer-bin

Kopieren Sie das folgende Skript in die Datei (verwenden Sie Ctrl+ Czum Kopieren, Ctrl+ Shift+ Vzum Einfügen in das nanoFenster):

#!/bin/bash

strInFile="$1"
nMaxDimension="$2"
strOutFile="$3"

strInfo="`DISPLAY=NONE vwebp -info "$strInFile"`"
strSize="`echo "$strInfo" | grep Canvas | sed -r 's"Canvas: (.*) x (.*)"\1\t\2"'`"

nWidth="`echo "$strSize" | cut -f1`"
nHeight="`echo "$strSize" | cut -f2`"

if((nWidth>nHeight));then
    nNewWidth=$nMaxDimension
    nNewHeight=`bc <<< "scale=10;f=$nHeight*($nNewWidth/$nWidth);scale=0;f/1"`
else
    nNewHeight=$nMaxDimension
    nNewWidth=`bc <<< "scale=10;f=$nWidth*($nNewHeight/$nHeight);scale=0;f/1"`
fi

/usr/bin/dwebp "$strInFile" -scale $nNewWidth $nNewHeight -o "$strOutFile"

Drücken Sie Ctrl+ O(der Buchstabe ist Onicht die Zahl Null 0) und Enter, um die Datei zu speichern, und Ctrl+ X, nanoum das Terminal zu verlassen und zum Terminal zurückzukehren.

Dieses Skript gibt eine WebP-Datei ein, extrahiert ihre Abmessungen (Breite und Höhe) mit vwebpund verwendet diese Werte als Eingaben dwebp, um die WebP-Datei in eine kleinere PNG-Miniaturansicht mit dem ursprünglichen Seitenverhältnis zu konvertieren und zu skalieren .

Als nächstes machen Sie die Datei ausführbar:

sudo chmod +x /usr/bin/webp-thumbnailer-bin

4. Erstellen Sie eine webp.thumbnailerDatei in/usr/share/thumbnailers

sudo nano /usr/share/thumbnailers/webp.thumbnailer

Kopieren Sie den folgenden Inhalt in die Datei (verwenden Sie Ctrl+ Czum Kopieren, Ctrl+ Shift+ Vzum Einfügen in das nanoFenster):

[Thumbnailer Entry]
Exec=/usr/bin/webp-thumbnailer-bin %i 256 %o
MimeType=image/webp;image/x-webp;audio/x-riff;application/x-wine-extension-webp;
  • Erinnerst MimeTypedu dich an das ? Wenn sich der zuvor überprüfte Typ nicht in der oben aufgeführten dritten Zeile befindet, fügen Sie ihn am Ende der Zeile hinzu. Stellen Sie sicher, dass die Zeile mit einem Semikolon ( ;) endet .

  • Sie können auch 256in der zweiten Zeile 128für noch kleinere Miniaturansichten ändern (dies 256wird jedoch empfohlen, da dies die Standardgröße für große Miniaturansichten für Nautilus ist).

Drücken Sie erneut Ctrl+ Ound Enter, um die Datei zu speichern, und Ctrl+ X, nanoum das Terminal zu verlassen und zum Terminal zurückzukehren.

5. (letzte) Löschen Sie den Miniaturbild-Cache und generieren Sie die Miniaturansichten neu.
Geben Sie die folgenden 4 Befehle im Terminal ein und drücken Sie Enternach jeder Zeile:

rm ~/.cache/thumbnails/fail/gnome-thumbnail-factory/*
rm ~/.cache/thumbnails/large/*
rm ~/.cache/thumbnails/normal/*
nautilus -q
  • Wenn Sie verwenden nemo, sollte der letzte Befehl sein nemo -q.

  • Anstatt das Terminal zu verwenden, können Sie den Cache manuell löschen , indem Sie zu gehen ~/.cache/thumbnailsund löschen Sie alle drei Ordner im Inneren ( fail, large, normal).

  • Öffnen Sie schließlich Nautilus oder Nemo erneut. Alle WebP-Bilder sollten jetzt angezeigt werden.

Getestet unter Ubuntu 16.04, Linux Mint 19.3 Cinnamon.

Update: Dies funktioniert auch unter Ubuntu 20.04.

Kaliko katze
quelle