Zgodnie z dokumentacją Freedesktop Thumbnail Managing Standard
. Możesz zmusić nautilus do odtworzenia miniatury, jeśli mtime (czas modyfikacji) w miniaturze jest niższy niż mtime w oryginalnym pliku.
- Wykryj modyfikacje
Jedną ważną rzeczą jest upewnienie się, że obraz miniatury wyświetla te same informacje, co oryginał, tylko w zmniejszonej wersji. Aby to umożliwić, używamy czasu modyfikacji zapisanego w wymaganym kluczu „Thumb :: MTime” i sprawdzamy, czy jest on równy bieżącemu czasowi modyfikacji oryginału. Jeśli nie, musimy odtworzyć miniaturę.
Przykład 2. Algorytm sprawdzania modyfikacji.
if (file.mtime! = thumb.MTime) {restoreate_thumbnail (); }
Nie wystarczy wykonać file.mtime> thumb.MTime check. Jeśli użytkownik przeniesie> inny plik nad oryginał, w którym mtime zmienia się, ale w rzeczywistości jest niższy niż> mtime przechowywany w miniaturze, nie rozpoznamy tej modyfikacji.
Aby to osiągnąć ... możesz spróbować za pomocą skryptu Nautilus ustawić mtime w oryginalnym pliku na bieżący czas za pomocą polecenia dotykowego .
1) Tworzenie skryptu. Otwórz okno terminala Ctrl+ Alt+ Ti wpisz:
Dla Ubuntu 12.04 i 12.10
nano ~/.gnome2/nautilus-scripts/Regenerate-Thumbnail
Dla Ubuntu 13.04 i nowszych
nano ~/.local/share/nautilus/scripts/Regenerate-Thumbnail
2) Treść skryptu.
#!/bin/bash
BAKIFS=$IFS
IFS=$'\n'
for FILE in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
touch -m "$FILE"
done
IFS=$BAKIFS
Aby zapisać zmiany w nano .. Ctrl+ O, Entera następnie Ctrl+ X.
3) Aby skrypt był wykonywalny.
Dla Ubuntu 12.04 i 12.10
chmod +x ~/.gnome2/nautilus-scripts/Regenerate-Thumbnail
Dla Ubuntu 13.04 i nowszych
chmod +x ~/.local/share/nautilus/scripts/Regenerate-Thumbnail
4) Aby przetestować skrypt, możesz otworzyć nautilus, wybrać plik (i), kliknąć prawym przyciskiem myszy i przejść do Skrypty> Regeneruj miniaturę .
Mam nadzieję że to pomoże.
mv file newfile
, poczekaj chwilę imv newfile file
. Przyzwyczajony do pracy.