Wie kann man ein bestimmtes Miniaturbild in Nautilus regenerieren?

9

Manchmal beschneide ich PDFs, um eine einseitige Lesung anstelle von zwei gescannten Seiten zu erhalten. Nautilus behält jedoch ein altes Miniaturbild mit der vorherigen Titelseite.

Ich weiß, dass ich den versteckten Miniaturbildordner löschen kann, aber ich möchte wissen, wie ich nur ein bestimmtes Miniaturbild neu generieren kann. F5 hilft nicht.

Ed Villegas
quelle
1
Ich habe den Trick benutzt, um in die Kommandozeile zu gehen und a zu machen mv file newfile, ein bisschen zu warten und mv newfile file. Funktionierte.
Rmano

Antworten:

8

Gemäß der freedesktop-Dokumentation Thumbnail Managing Standard . Sie können nautilus zwingen, das Miniaturbild neu zu erstellen, wenn die mtime (Änderungszeit) in der Miniaturansicht niedriger ist als die mtime in der Originaldatei.

  1. Änderungen erkennen

Eine wichtige Sache ist, sicherzustellen, dass das Miniaturbild dieselben Informationen wie das Original anzeigt, nur in einer verkleinerten Version. Um dies zu ermöglichen, verwenden wir die im erforderlichen Schlüssel 'Thumb :: MTime' gespeicherte Änderungszeit und prüfen, ob sie der aktuellen Änderungszeit des Originals entspricht. Wenn nicht, müssen wir das Miniaturbild neu erstellen.

Beispiel 2. Algorithmus zur Überprüfung auf Änderung.

if (file.mtime! = thumb.MTime) {recreate_thumbnail (); }}

Es reicht nicht aus, eine Datei.mtime> thumb.MTime-Prüfung durchzuführen. Wenn der Benutzer eine andere Datei über das Original verschiebt, bei der sich die Zeit ändert, die jedoch niedriger ist als die in der Zeit gespeicherte Miniatur, wird diese Änderung nicht erkannt.

Um dies zu erreichen ... können Sie mit einem kleinen Nautilus-Skript versuchen , die mtime in der Originaldatei mit dem Befehl touch auf die aktuelle Zeit einzustellen .

1) Erstellen des Skripts. Öffnen Sie ein Terminalfenster Ctrl+ Alt+ Tund geben Sie Folgendes ein:

Für Ubuntu 12.04 & 12.10

  • nano ~/.gnome2/nautilus-scripts/Regenerate-Thumbnail

Für Ubuntu 13.04 und höher

  • nano ~/.local/share/nautilus/scripts/Regenerate-Thumbnail

2) Der Inhalt des Skripts.

#!/bin/bash

BAKIFS=$IFS
IFS=$'\n'

for FILE in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
      touch -m "$FILE"
done

IFS=$BAKIFS

Um die Änderungen in Nano zu speichern .. Ctrl+ O, Enterdann Ctrl+ X.

3) Um das Skript ausführbar zu machen.

Für Ubuntu 12.04 & 12.10

  • chmod +x ~/.gnome2/nautilus-scripts/Regenerate-Thumbnail

Für Ubuntu 13.04 und höher

  • chmod +x ~/.local/share/nautilus/scripts/Regenerate-Thumbnail

4) Um das Skript zu testen, können Sie Nautilus öffnen, eine oder mehrere Dateien auswählen, mit der rechten Maustaste klicken und zu Skripte> Regenerate-Thumbnail gehen .

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Hoffe das hilft.

Roman Raguet
quelle
4

Ich weiß, dass dies eine alte Frage ist, aber ... manchmal bleiben die Thumbnails hängen und es gibt keinen Trick mit touch -moder mvlässt sie sich regenerieren.

Schreiben Sie dieses einfache Skript (dank dieser Antwort ), nennen wir es find-gnome-thumbnail:

#! /bin/bash 
#
fn=$(echo -n "$1" | md5sum | awk '{print $1}')
find $HOME/.cache/ -name "$fn*" 2> /dev/null

und füttern Sie es mit dem kanonischen Namen der Datei, deren Position Sie bestimmen möchten. Der bessere Weg, dies zu tun, besteht darin, die Datei in nautilus, do ctrlCund in einem Terminal auszuwählen find-gnome-thumbnail '(mit dem Leerzeichen und dem öffnenden einfachen Anführungszeichen) und danach shiftctrlV; Wenn Sie das abschließende Zitat hinzufügen, haben Sie ungefähr Folgendes:

 % ./find-gnome-thumbnail 'file:///home/romano/tmp/0101_IM_3026506.pdf' 
/home/romano/.cache/thumbnails/large/d090cf90d2ac3f8127f62043f06b66df.png

Jetzt können Sie das fehlerhafte Miniaturbild löschen und es wird neu generiert (drücken Sie F5, wenn dies nicht alleine geschieht). Der Copy-Paste-Trick sorgt für seltsame Zeichenkonvertierungen:

 % ./find-gnome-thumbnail 'file:///home/romano/tmp/lalla%20(copy).pdf'
 /home/romano/.cache/thumbnails/large/28864dd40fab6d4982e1b103365574da.png

Manchmal schlägt das Skript fehl, wenn Sie die Datei mit umbenennen mv, ich weiß nicht warum --- aber es ist meistens in Ordnung. Auch das manuelle Löschen der Miniaturansicht wird nicht sofort neu generiert - auch hier bin ich ratlos.

Rmano
quelle
2

Ich habe ein Skript, das ich verwende (Autor unbekannt), Auto Thumbnailer, das hierfür gut funktioniert. Ich habe es in einem Paket von Skripten bekommen, die ich hier erhalten habe

und installiert in / usr / share / nautilus-scripts / Ich habe auch den Nautilus-Skriptmanager installiert, damit ich sie nicht alle im Skriptmenü sehen muss, wenn ich mit der rechten Maustaste auf ein Symbol klicke, nur auf die, die ich verwende.

Elder Geek
quelle
0

Vereinfachte Antwort (basierend auf @Roman Raguet)

  1. Terminal öffnen
  2. Gehen Sie zu dem Ordner, in dem sich Ihre Dateien befinden, z. /home/me/myimages
  3. Ausführen touch -m

    • Entweder in eine einzelne Datei, zum Beispiel touch -m myfile.jpg
    • Oder zu allen Dateien, touch -m *

Jetzt sollten die Thumbnails in Ihrem Nautilus regeneriert werden.

geliebt von Jesus
quelle