특정 폴더에 대해서만 썸네일 생성을 비활성화하지만 모든 사용자


12

Ubuntu 14.10 (현재 15.04)이 특정 폴더에 대해서만 축소판을 만들어 저장하지 못하게하려면 어떻게합니까?
썸네일 러가 단일 폴더 (및 하위 폴더)를 건너 뛰고 있지만 기존 및 향후의 모든 사용자 계정을 건너 뛰고 싶습니다.

특정 파일 형식을 제외하는 방법에 대한 답변을 읽었지만 위치별로 파일을 제외해야합니다.
내가 이미 시도한 것은 폴더를 숨기는 것입니다 (로 이름이 바 .foldername)). 그런데 폴더는 루트가 소유하고 있습니다.


6
아이디어의 시작에 불과합니다 (그것은 단지 하나의 사용자에 대한 작동이) : 내가 경로를 해싱라는 파일을 작성하여 제대로 이해한다면 작은 이미지가 생성된다 [해시] 디렉토리에 .png를 .thumbnails/normal/및 / 또는 .thumbnails/large/에 사용자의 홈 디렉토리. 프로그램은 동일한 해시를 수행하고 0 바이트 썸네일 파일을 대신 쓸 수 있습니다. 운 좋게도 썸네일 러 루틴은 썸네일 파일이 이미 존재한다는 것을 인식하고 이미지 썸네일을 건너 뜁니다.
Jos

어떤 썸네일 러를 사용하십니까? 축소판을 어디에 저장합니까?
daltonfury42

@ daltonfury42 말할 수 없습니다. 내가 구체적으로 필요했던 상황은 오래되고 이제는 죽은 노트북에있었습니다. XFCE와 함께 우분투를 실행하고 있었기 때문에 텀블러 또는 썸네일 러라고 불렀습니다. 어쨌든 이것이 가능하다면 더 일반적인 해결책이라고 생각합니다.
바이트 사령관

답변:


2

@Fabby 답변 외에도 :

  1. 감사 패키지 설치

    sudo apt-get install inoticoming
    
  2. 랩퍼 스크립트 작성 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 …스크립트를 테스트하는 경우 데몬 모드를 피하기 위해 사용하십시오 .


자, nautilus -q노틸러스 백그라운드 프로세스를 종료하고 메모리에 캐시 된 썸네일을 해제합니다. 그리고 왜 명령 \;의 끝에가 inoticoming있습니까?
바이트 커맨더

@ByteCommander 마스크하려면 다음 명령을위한 구분자가 아니라 명령에 in이 ;필요합니다 ;.
AB

그리고 이것에 대해 inoticoming --foreground _무엇입니까? 데몬 모드의 문제점은 무엇입니까? 백그라운드에서 자동으로 실행되어야한다고 생각했습니다. 아, 그리고 자동으로 시작되도록 어떻게 설정합니까?
바이트 커맨더

@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 할하는 것 같아요,하지만 당신은 그 현상금을 제공하는 방법을 몰라 그 ... 그것을 제공으로 그 해당 폴더의 파일 시스템 이벤트에 반응하는 것
바이트 사령관

같은 @ByteCommander ?
AB

@AB 예, 좋아 보입니다. 해당 스크립트와 모든 것을 함께 사용하여 다른 답변을 작성한다면 정말 좋을 것입니다! :-)
바이트 사령관

@ByteCommander done :)
AB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.