Como regenerar uma miniatura específica no Nautilus?

9

Às vezes, corto PDFs para ter uma leitura de uma página em vez de duas páginas digitalizadas. No entanto, o nautilus mantém uma miniatura antiga mostrando a primeira página inicial.

Sei que posso excluir a pasta de miniaturas ocultas, mas gostaria de saber como posso regenerar apenas uma miniatura específica. F5 não ajuda.

Ed Villegas
fonte
11
Eu usei o truque para entrar na linha de comando e fazer um mv file newfile, espere um pouco, e mv newfile file. Usado para trabalhar.
Rmano

Respostas:

8

De acordo com a documentação do freedesktop, Thumbnail Managing Standard . Você pode forçar o nautilus a recriar a miniatura se o mtime (tempo de modificação) na miniatura for menor que o mtime no arquivo original.

  1. Detectar modificações

Uma coisa importante é garantir que a imagem em miniatura exiba as mesmas informações que o original, apenas em uma versão reduzida. Para tornar isso possível, usamos o tempo de modificação armazenado na tecla 'Thumb :: MTime' necessária e verificamos se é igual ao tempo de modificação atual do original. Caso contrário, devemos recriar a miniatura.

Exemplo 2. Algoritmo para verificar a modificação.

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

Não é suficiente fazer uma verificação file.mtime> thumb.MTime. Se o usuário mover outro arquivo sobre o original, onde o mtime muda, mas é de fato menor que o miniatura armazenado, não reconheceremos essa modificação.

Para conseguir isso ... você pode tentar, com um pouco de Nautilus-Script, definir o mtime no arquivo original para o horário atual com o comando touch .

1) Criando o script. Abra uma janela do Terminal Ctrl+ Alt+ Te digite:

Para Ubuntu 12.04 e 12.10

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

Para o Ubuntu 13.04 e superior

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

2) O conteúdo do script.

#!/bin/bash

BAKIFS=$IFS
IFS=$'\n'

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

IFS=$BAKIFS

Para salvar as alterações no nano .. Ctrl+ Oe Enterdepois em Ctrl+ X.

3) Para tornar o script executável.

Para Ubuntu 12.04 e 12.10

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

Para o Ubuntu 13.04 e superior

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

4) Para testar o script, você pode abrir o nautilus, selecione um (s) arquivo (s), clique com o botão direito do mouse e vá para Scripts> Regenerar-Miniatura .

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Espero que isto ajude.

Roman Raguet
fonte
4

Eu sei que essa é uma pergunta antiga, mas ... em algum momento as miniaturas ficam presas e não há truque touch -mou mva regeneração.

Escreva este script simples (graças a esta resposta ), vamos chamá-lo find-gnome-thumbnail:

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

e alimente-o com o nome canônico do arquivo do qual você deseja determinar o local da miniatura. A melhor maneira de fazer isso é selecionar o arquivo no nautilus, do ctrlC, e em uma gravação de terminal find-gnome-thumbnail '(com o espaço e as aspas simples de abertura) e depois disso shiftctrlV; adicione a citação de fechamento e você terá algo como isto:

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

Agora você pode excluir a miniatura incorreta e ela será regenerada (pressione F5 se isso não acontecer sozinho). O truque copiar e colar cuida de conversões de caracteres estranhos:

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

Às vezes, o script falha se você renomear o arquivo com mv, não sei por que --- mas está ok na maioria das vezes. A exclusão manual da miniatura também não a regenera imediatamente --- novamente, estou perdida aqui.

Rmano
fonte
2

Eu tenho um script que eu uso (autor desconhecido) chamado Auto Thumbnailer, que funciona bem para isso. Comprei em um pacote de scripts que obtive aqui

e instalado em / usr / share / nautilus-scripts / Eu também instalei o gerenciador de scripts do Nautilus para não precisar vê-los todos no menu de scripts ao clicar com o botão direito do mouse em um ícone, apenas os que eu uso.

Elder Geek
fonte
0

Resposta simplificada (baseada em @Roman Raguet)

  1. Terminal Aberto
  2. Vá para a pasta em que seus arquivos estão, por exemplo, /home/me/myimages
  3. Executar touch -m

    • Para um único arquivo, por exemplo, touch -m myfile.jpg
    • Ou para todos os arquivos, touch -m *

Agora as miniaturas devem ser regeneradas no seu nautilus.

Jesus amado
fonte