Як відновити певну мініатюру в Nautilus?


9

Іноді я обрізаю PDF-файли, щоб мати прочитане на одній сторінці замість відсканованих двох сторінок. Однак nautilus зберігає стару мініатюру, що показує колишню головну сторінку.

Я знаю, що я можу видалити приховану папку ескізів, але хотів би знати, як можна відновити лише одну конкретну мініатюру. F5 не допомагає.


1
Я використовував трюк, щоб зайти в командний рядок і зробити mv file newfile, почекати трохи і mv newfile file. Використовується для роботи.
Рмано

Відповіді:


8

Відповідно до документації freedesktop Standard Thumbnail Managing Standard . Ви можете змусити nautilus відтворити ескіз, якщо mtime (час модифікації) у мініатюрі нижче, ніж mtime у вихідному файлі.

  1. Виявити зміни

Одне важливе - переконатися, що ескіз зображення показує ту саму інформацію, що й оригінал, лише у зменшеній версії. Щоб зробити це можливим, ми використовуємо час модифікації, який зберігається в необхідній клавіші 'Thumb :: MTime' і перевіряємо, чи дорівнює він поточному часу модифікації оригіналу. Якщо ні, ми повинні відтворити ескіз.

Приклад 2. Алгоритм для перевірки на модифікацію.

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

Недостатньо зробити файл.mtime> thumb.MTime check. Якщо користувач перемістить> інший файл над оригіналом, де mtime змінюється, але насправді нижче, ніж> ескіз, що зберігається mtime, ми не визнаємо цю модифікацію.

Для того, щоб досягти цього ... ви можете спробувати за допомогою трохи Nautilus-Script встановити mtime в оригінальному файлі на поточний час дотиком команди.

1) Створення сценарію. Відкрийте вікно терміналу Ctrl+ Alt+ Tта введіть:

Для Ubuntu 12.04 та 12.10

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

Для Ubuntu 13.04 і вище

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

2) Зміст сценарію.

#!/bin/bash

BAKIFS=$IFS
IFS=$'\n'

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

IFS=$BAKIFS

Щоб зберегти зміни в nano .. Ctrl+ O, Enterтоді Ctrl+ X.

3) Щоб зробити сценарій виконуваним.

Для Ubuntu 12.04 та 12.10

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

Для Ubuntu 13.04 і вище

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

4) Для тестування сценарію ви можете відкрити nautilus, виберіть файл (и), клацніть правою кнопкою миші та перейдіть до « Сценарії»> «Відновити-мініатюру» .

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

введіть тут опис зображення

Сподіваюсь, це допомагає.


4

Я знаю , що це старе питання, але ... коли - небудь ескізи застряють і не трюк з touch -mабо mvроблять його регенерацію.

Напишіть цей простий сценарій (завдяки цій відповіді ), назвемо його find-gnome-thumbnail:

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

і подати його канонічним ім'ям файлу, для якого потрібно визначити розташування мініатюр. Кращий спосіб зробити це - вибрати файл у nautilus, do ctrlC, і в термінал записати find-gnome-thumbnail '(з пробілом та відкритою єдиною цитатою) і після цього shiftctrlV; додайте кінцеву пропозицію, і у вас вийде щось подібне:

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

Тепер ви можете видалити мініатюру, яка ображає, і вона буде відновлена ​​(натисніть F5, якщо це не відбудеться самотужки). Трюк копіювання-вставки піклується про дивні перетворення символів:

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

Колись сценарій виходить з ладу, якщо ви перейменовуєте файл mv, я не знаю, чому ---, але це нормально більшість разів. Також видалення мініатюри вручну не поверне її відразу --- знову, я тут втрачаю.


2

У мене є сценарій, який я використовую (автор невідомий) під назвою Auto Thumbnailer, який добре працює для цього. Я отримав це в пакеті сценаріїв, які я отримав тут

і встановлений у / usr / share / nautilus-scriptpts / Я також встановив Nautilus script manager, щоб мені не довелося бачити їх усіх у меню скриптів, коли я клацнув правою кнопкою миші піктограму, лише ті, які я використовую.


0

Спрощена відповідь (на основі @Roman Raguet)

  1. Відкритий термінал
  2. Перейдіть до папки, де є ваші файли, наприклад, /home/me/myimages
  3. Виконати touch -m

    • Наприклад, до одного файлу, наприклад, touch -m myfile.jpg
    • Або до всіх файлів, touch -m *

Тепер ескізи повинні бути відновлені у вашому наутилусі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.