Yalnızca belirli klasörler için tüm kullanıcılar için küçük resim oluşturmayı devre dışı bırak


12

Ubuntu 14.10'umun (şimdi 15.04) yalnızca belirli bir klasör için küçük resim oluşturmasını ve kaydetmesini nasıl önleyebilirim?
Küçük resme tek bir klasörü (ve alt klasörleri) atlamasını, ancak mevcut ve gelecekteki tüm kullanıcı hesapları için söylemek istiyorum.

Belirli bir dosya türünü hariç tutma ile ilgili bazı soruları okudum, ancak dosyaları konumlarına göre hariç tutmam gerekiyor!
Ne zaten denedim (yeniden adlandırılmış .foldername) klasörü gizlemek için , ama hiçbir şans ile. Klasöre bu arada root aittir.


6
Bir fikrin Sadece başlangıç (ve sadece tek bir kullanıcı için çalışır): Ne yolu karma ve adlı bir dosya yazarak, doğru anlamak küçük resimler, oluşturulan [karması] bir dizine .png .thumbnails/normal/ve / veya .thumbnails/large/içinde kullanıcının ana dizini. Programınız aynı karmayı gerçekleştirebilir ve bunun yerine sıfır baytlık bir küçük resim dosyası yazabilir. Herhangi bir şansla, küçük resim rutini bir küçük resim dosyasının zaten var olduğunu fark eder ve resminizin küçük resmini atlar.
Jos

Hangi küçük resmi kullanıyorsunuz? Küçük resimleri nereye kaydedersiniz?
daltonfury42

@ daltonfury42 Sana söyleyemem. Özellikle buna ihtiyaç duyduğum durum eski, şimdi ölü bir dizüstü bilgisayardaydı. Orada XFCE ile Ubuntu çalıştırıyordum, bu yüzden tumbler veya bunun küçük resmi çağrıldığını düşünüyorum. Her neyse, bence bu mümkün ise daha genel bir çözüm olmalı.
Byte Commander

Yanıtlar:


2

@Fabby yanıtına ek olarak :

  1. Paketin yüklenmesini yükleyin

    sudo apt-get install inoticoming
    
  2. Sarıcı komut dosyası oluştur 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. Yürütülebilir yap

    chmod +x disable_thumbnails
    
  4. Gerekirse çalışan işlemleri öldürün

    killall inoticoming
    
  5. Klasörünüzü izleyin

    /Klasör adlarının sonuna gelmekten kaçının

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

Yalnız bir sorun var! Değişiklikler yalnızcanautilus -q

inoticoming --foreground …Betiği test ediyorsanız, arka plan modundan kaçınmak için kullanın .


Tamam, nautilus -qnautilus arka plan sürecini öldürür ve hafızada önbelleğe alınmış küçük resimleri serbest bırakır. Ve komutun \;sonunda neden var inoticoming?
Byte Commander

@ByteCommander Bir sonraki komut için sınırlayıcı olarak değil, komutta ;ihtiyacımız var ;.
AB

Peki bu ne hakkında inoticoming --foreground _? Daemon modundaki sorun nedir? Arka planda otomatik olarak çalışması gerektiğini düşündüm. Oh, ve bu şeyi otomatik olarak başlayacak şekilde nasıl ayarlayabilirim?
Byte Komutanı

@ByteCommander Komut dosyası kullanımını test etmek için--foreground
AB

2

Küçük resmin dosya adını almak için md5sumorijinal dosya adına başlayın :

% 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

Şimdi okuma izinlerini kaldırın:

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

Nautilus'u yeniden başlatın:

nautilus -q

ve için küçük resminiz olmayacak /home/user/Pictures/image 1.png.

Artık yalnızca belirli klasörlerinizi tarayan bir komut dosyası yazmanız ve yukarıdaki adımları otomatik olarak yapmanız gerekir.

Kredi : P


Bu komut dosyasını ekler ve 0 baytlık bir dosyayla küçük resmin üzerine yazan bir satır eklerseniz mutlu olurum! Oh, ve sen bana betiğin otomatik olarak nasıl çalıştırılacağını söylemelisin (ya da bağlantıyı). En iyisi bu klasördeki dosya sistemi olaylarına tepki vermek olurdu, eğer bu mümkün olsaydı ... Sana bu ödülü nasıl vereceğimi bilmiyorum, sanırım @ AB bunu sunduğu gibi yapmalı ...
Byte Commander

Gibi bir şey @ByteCommander bu ?
AB

@AB Evet, iyi görünüyor. Şimdi o senaryo ve her şeyle birlikte başka bir cevap yazarsanız, bu harika olurdu! :-)
Byte Komutanı

@ByteCommander done :)
AB
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.