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.
- Ä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 .
Hoffe das hilft.
mv file newfile
, ein bisschen zu warten undmv newfile file
. Funktionierte.