Desabilitar a criação de miniaturas apenas para pastas específicas, mas todos os usuários


12

Como evito que o meu Ubuntu 14.10 (agora 15.04) crie e salve miniaturas apenas para uma pasta específica?
Quero dizer ao miniaturista para pular a pasta (e as subpastas) únicas, mas para todas as contas de usuário existentes e futuras.

Li algumas perguntas respondidas sobre a exclusão de um tipo de arquivo específico, mas preciso excluir os arquivos por sua localização!
O que eu já tentei é ocultar a pasta (renomeada para .foldername), mas sem sorte. A pasta pertence à raiz, a propósito.


6
Apenas o começo de uma ideia (e funcionará apenas para um único usuário): as miniaturas são criadas, se bem entendi, fazendo o hash do caminho e escrevendo um arquivo chamado [hash] .png em um diretório .thumbnails/normal/e / ou .thumbnails/large/no diretório diretório inicial do usuário. Seu programa pode executar o mesmo hash e gravar um arquivo de miniatura de zero byte. Por alguma sorte, a rotina de miniaturas notará que já existe um arquivo de miniaturas e ignorará a miniatura da imagem.
— 21715 Jos

Qual miniatura você usa? Onde você salva as miniaturas?
— precisa saber é o seguinte

@ daltonfury42 Eu não posso te dizer. A situação em que eu especificamente precisava disso estava em um laptop velho, agora morto. Eu estava rodando o Ubuntu com o XFCE lá, então acho que era mais tumbler ou, no entanto, seu miniaturista foi chamado. Enfim, acho que se isso for possível, deve ser uma solução mais geral.
— Byte Commander

Respostas:


2

Além da resposta @Fabby :

  1. Instale o inoticoming do pacote

    sudo apt-get install inoticoming
    
  2. Criar script de wrapper disable_thumbnails

    #!/bin/bash
    
    # Create the thumbnail filename
    tn_filename=$(echo -n "file://$1/$2" | sed 's/\s/%20/g' | md5sum | awk '{print $1}')
    
    # Destroy the thumbnail without deleting
    find ~/.cache/thumbnails -type f -name "$tn_filename*" -print0 | while IFS= read -d '' file; do
      echo > "$file"
    done
    exit 0
    
  3. Torne executável

    chmod +x disable_thumbnails
    
  4. Mate os processos em execução, se necessário

    killall inoticoming
    
  5. Assista sua pasta

    Evite rastrear /os nomes das pastas

    inoticoming "<path_to_disabled_thumbnail_folder>" <full_path_of_disable_thumbnails_script>  {} "<path_to_disabled_thumbnail_folder>" \;
    

Existe apenas um problema. As alterações são visíveis somente apósnautilus -q

Use inoticoming --foreground …para evitar o modo daemon, se você testar o script.


Ok, ele nautilus -qmata o processo em segundo plano do nautilus e libera miniaturas armazenadas em cache na memória, eu acho. E por que existe \;o final do inoticomingcomando?
— Byte Commander

@ByteCommander Para mascarar o comando ;Precisamos do ;comando e não como delimitador para o próximo comando.
— AB

E o que é isso inoticoming --foreground _? O que há de errado com o modo daemon? Eu pensei que deveria ser executado automaticamente em segundo plano. Ah, e como faço para definir isso para iniciar automaticamente?
— Byte Commander

@ByteCommander Para testar o uso do script--foreground
— AB

2

Para obter o nome do arquivo para a miniatura, inicie md5sumcom o nome do arquivo original:

% echo -n "file:///home/user/Pictures/image%201.png" | md5sum
6e1669aea9c118cb2b7ad23fc6646c71  -

% find ~/.cache/thumbnails -type f -name "6e1669aea9c118cb2b7ad23fc6646c71*"
/home/user/.cache/thumbnails/large/6e1669aea9c118cb2b7ad23fc6646c71.png

Agora remova as permissões de leitura:

chmod -r /home/user/.cache/thumbnails/large/6e1669aea9c118cb2b7ad23fc6646c71.png

Reinicie o nautilus:

nautilus -q

e você não terá miniatura para /home/user/Pictures/image 1.png.

Agora você só precisa escrever um script que verifique suas pastas específicas e execute as etapas acima automaticamente.

Créditos : P


Se você adicionar esse script e incluir uma linha que substitua a miniatura por um arquivo de 0 byte, ficarei feliz! Ah, e você precisa me dizer (ou vincular) como executar o script automaticamente. O melhor seria reagir aos eventos do sistema de arquivos nessa pasta, se isso fosse possível ... Não tenho idéia de como dar essa recompensa, acho que o @AB precisa fazer isso como ele oferece ...
— Byte Commander

@ByteCommander algo como este ?
— AB

@ AB Sim, parece ser bom. Se você escrever outra resposta com esse script e tudo junto, isso seria incrível! :-)
— Byte Commander

@ByteCommander done :)
— AB
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.