ปิดใช้งานการสร้างภาพขนาดเล็กสำหรับโฟลเดอร์เฉพาะเท่านั้น แต่ผู้ใช้ทั้งหมด


12

ฉันจะป้องกัน Ubuntu 14.10 (ตอนนี้ 15.04) จากการสร้างและบันทึกภาพขนาดย่อสำหรับโฟลเดอร์เฉพาะได้อย่างไร
ฉันต้องการบอกให้ thumbnailer ข้ามไปที่โฟลเดอร์เดียว (และโฟลเดอร์ย่อย) แต่สำหรับบัญชีผู้ใช้ที่มีอยู่และในอนาคตทั้งหมด

ฉันอ่านคำถามที่ตอบแล้วบางข้อเกี่ยวกับการยกเว้นไฟล์บางประเภท แต่ฉันต้องแยกไฟล์ตามตำแหน่งที่ตั้ง!
สิ่งที่ฉันพยายามแล้วคือการซ่อนโฟลเดอร์ (เปลี่ยนชื่อเป็น.foldername) แต่ไม่มีโชค โฟลเดอร์นี้เป็นเจ้าของโดย root โดยวิธีการ


6
เพิ่งเริ่มต้นแนวคิด (และจะทำงานสำหรับผู้ใช้คนเดียวเท่านั้น): รูปขนาดย่อจะถูกสร้างขึ้นหากฉันเข้าใจอย่างถูกต้องโดยการแปลงเส้นทางและเขียนไฟล์ชื่อ [hash] .png ไปยังไดเรกทอรี.thumbnails/normal/และ / หรือ.thumbnails/large/ใน โฮมไดเรกทอรีของผู้ใช้ โปรแกรมของคุณสามารถทำการแฮชเดียวกันและเขียนไฟล์ภาพขนาดย่อแบบศูนย์ไบต์แทน โชคใด ๆ รูทีน thumbnailer จะสังเกตเห็นว่ามีไฟล์ภาพขนาดย่ออยู่แล้วและข้ามภาพขนาดย่อของคุณ
Jos

คุณใช้รูปขนาดย่ออะไร คุณจะบันทึกรูปย่อขนาดไหน
daltonfury42

@ daltonfury42 ฉันไม่สามารถบอกคุณได้ สถานการณ์ที่ฉันต้องการเป็นพิเศษคือแล็ปท็อปเครื่องเก่าที่ตายแล้ว ฉันใช้ Ubuntu กับ XFCE ที่นั่นฉันคิดว่ามันดีกว่าเดิมหรือเรียกว่า thumbnailer อย่างไรก็ตามฉันคิดว่าถ้าเป็นไปได้ควรเป็นคำตอบทั่วไป
ผู้บัญชาการไบต์

คำตอบ:


2

นอกจากคำตอบ@Fabby :

  1. ติดตั้งแพคเกจ inoticoming

    sudo apt-get install inoticoming
    
  2. สร้างสคริปต์ 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. ทำให้ปฏิบัติการได้

    chmod +x disable_thumbnails
    
  4. ฆ่ากระบวนการที่กำลังทำงานหากจำเป็น

    killall inoticoming
    
  5. ดูโฟลเดอร์ของคุณ

    หลีกเลี่ยงการติดตาม/ชื่อโฟลเดอร์

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

มีปัญหาเดียวเท่านั้น การเปลี่ยนแปลงจะมองเห็นได้หลังจากnautilus -q

ใช้inoticoming --foreground …เพื่อหลีกเลี่ยงโหมด daemon หากคุณทดสอบสคริปต์


โอเคพวกnautilus -qมันฆ่ากระบวนการพื้นหลังของหอยโข่งและปล่อยรูปขนาดย่อที่เก็บไว้ในหน่วยความจำฉันเดา และทำไมถึงมี\;ในตอนท้ายของinoticomingคำสั่ง?
ผู้บัญชาการไบต์

@ByteCommander เพื่อปกปิดการที่;เราต้องการ;ในคำสั่งและไม่เป็นตัวคั่นสำหรับคำสั่งถัดไป
AB

แล้วมันเกี่ยวกับinoticoming --foreground _อะไร? เกิดอะไรขึ้นกับโหมด daemon ฉันคิดว่ามันควรจะทำงานโดยอัตโนมัติในพื้นหลัง โอ้และฉันจะตั้งสิ่งนี้ให้เริ่มโดยอัตโนมัติได้อย่างไร
ผู้บัญชาการไบต์

@ByteCommander เพื่อทดสอบการใช้สคริปต์--foreground
AB

2

ในการรับชื่อไฟล์สำหรับภาพย่อให้เริ่มmd5sumจากชื่อไฟล์ต้นฉบับ:

% 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

ตอนนี้ลบสิทธิ์การอ่าน:

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

รีสตาร์ทหอยโข่ง:

nautilus -q

/home/user/Pictures/image 1.pngและคุณจะมีรูปเล็กที่ไม่มี

ตอนนี้คุณเพียงแค่ต้องเขียนสคริปต์ที่สแกนโฟลเดอร์เฉพาะของคุณและทำตามขั้นตอนข้างต้นโดยอัตโนมัติ

เครดิต : P


หากคุณเพิ่มสคริปต์นั้นและรวมบรรทัดที่เขียนทับรูปขนาดย่อด้วยไฟล์ 0 ไบต์ฉันจะมีความสุข! โอ้และคุณต้องบอกฉัน (หรือลิงก์) วิธีทำให้สคริปต์ทำงานโดยอัตโนมัติ ที่ดีที่สุดคือการตอบสนองต่อเหตุการณ์ระบบไฟล์ในโฟลเดอร์นั้นถ้าเป็นไปได้ ... ฉันไม่รู้ว่าจะให้เงินรางวัลกับคุณได้ยังไงฉันเดา @AB ต้องทำอย่างที่เขาเสนอ ...
ผู้บัญชาการ Byte

@ByteCommander เป็นอะไรแบบนี้ ?
AB

@AB ใช่ดูดี หากคุณต้องการเขียนคำตอบอีกครั้งด้วยสคริปต์นั้นและทุกสิ่งด้วยกันนั่นจะยอดเยี่ยมมาก! :-)
ผู้บัญชาการ Byte

@ByteCommander ทำ :)
AB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.