¿Cómo regenerar una miniatura específica en Nautilus?

9

A veces recorto archivos PDF para tener una lectura de una página en lugar de dos páginas escaneadas. Sin embargo, nautilus mantiene una miniatura anterior que muestra la página principal anterior.

Sé que puedo eliminar la carpeta de miniaturas ocultas, pero me gustaría saber cómo puedo regenerar solo una miniatura específica. F5 no ayuda.

Ed Villegas
fuente
1
Utilicé el truco para ir a la línea de comando y hacer un mv file newfile, esperar un poco y mv newfile file. Solía ​​trabajar.
Rmano

Respuestas:

8

De acuerdo con la documentación de Freedesktop Thumbnail Managing Standard . Puede forzar a Nautilus a recrear la miniatura si el tiempo m (tiempo de modificación) en la miniatura es menor que el tiempo m en el archivo original.

  1. Detectar modificaciones

Una cosa importante es asegurarse de que la imagen en miniatura muestre la misma información que la original, solo en una versión reducida. Para hacer esto posible, usamos el tiempo de modificación almacenado en la clave requerida 'Thumb :: MTime' y verificamos si es igual al tiempo de modificación actual del original. Si no, debemos recrear la miniatura.

Ejemplo 2. Algoritmo para verificar la modificación.

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

No es suficiente hacer una comprobación file.mtime> thumb.MTime. Si el usuario mueve> otro archivo sobre el original, donde mtime cambia pero de hecho es inferior a> la miniatura almacenada mtime, no reconoceremos esta modificación.

Para lograr esto ... puede intentar con un pequeño Nautilus-Script para configurar el tiempo m en el archivo original a la hora actual con el comando táctil .

1) Crear el guión. Abra una ventana de Terminal Ctrl+ Alt+ Ty escriba:

Para Ubuntu 12.04 y 12.10

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

Para Ubuntu 13.04 y superior

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

2) El contenido del guión.

#!/bin/bash

BAKIFS=$IFS
IFS=$'\n'

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

IFS=$BAKIFS

Para guardar los cambios en nano .. Ctrl+ O, Enterluego Ctrl+ X.

3) Hacer el script ejecutable.

Para Ubuntu 12.04 y 12.10

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

Para Ubuntu 13.04 y superior

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

4) Para probar el script, puede abrir nautilus, seleccione uno o varios archivos, haga clic con el botón derecho y vaya a Scripts> Regenerate-Thumbnail .

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Espero que esto ayude.

Raguet romano
fuente
4

Sé que esta es una vieja pregunta, pero ... en algún momento las miniaturas se atascan y no hay truco touch -mni mvlo regeneran.

Escriba este script simple (gracias a esta respuesta ), llamémoslo find-gnome-thumbnail:

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

y aliméntelo con el nombre canónico del archivo del que desea determinar la ubicación de la miniatura. La mejor manera de hacer esto es seleccionar el archivo en nautilus, do ctrlCy en una escritura de terminal find-gnome-thumbnail '(con el espacio y la comilla simple de apertura) y después de eso shiftctrlV; agregue la cita de cierre y tendrá algo como esto:

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

Ahora puede eliminar la miniatura infractora y se regenerará (presione F5 si no sucede solo). El truco de copiar y pegar se encarga de las conversiones de caracteres extraños:

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

En algún momento el script falla si cambias el nombre del archivo mv, no sé por qué --- pero está bien la mayoría de las veces. Además, eliminar la miniatura manualmente no la regenera inmediatamente --- nuevamente, aquí estoy perdido.

Rmano
fuente
2

Tengo un script que uso (autor desconocido) llamado Auto Thumbnailer que funciona bien para esto. Lo obtuve en un paquete de scripts que obtuve aquí

e instalado en / usr / share / nautilus-scripts / También instalé el administrador de scripts de Nautilus para no tener que verlos todos en el menú de scripts cuando hago clic derecho en un icono, solo los que uso.

Elder Geek
fuente
0

Respuesta simplificada (basada en @Roman Raguet)

  1. Terminal abierta
  2. Vaya a la carpeta donde están sus archivos, por ejemplo, /home/me/myimages
  3. Ejecutar touch -m

    • Ya sea a un solo archivo, por ejemplo, touch -m myfile.jpg
    • O a todos los archivos, touch -m *

Ahora las miniaturas deben regenerarse en su nautilus.

amado por Jesús
fuente