特定のフォルダーのみのサムネイル作成を無効にするが、すべてのユーザー


12

Ubuntu 14.10(現在15.04)が特定のフォルダーのみのサムネイルを作成および保存しないようにするにはどうすればよいですか?
サムネイル作成者に、その単一のフォルダー(およびサブフォルダー)をスキップするように指示しますが、既存および将来のすべてのユーザーアカウントに対して。

特定の種類のファイルを除外することに関するいくつかの回答済みの質問を読みましたが、ファイルをその場所で除外する必要があります!
私がすでに試したのは、フォルダを非表示にすることです(名前をに変更.foldername)が、運はありません。ちなみに、フォルダはルートが所有しています。


6
アイデアのちょうど開始(そしてそれは、単一のユーザーのために動作します):私が正しく理解していれば、サムネイルはパスをハッシュと呼ばれるファイルを書き込むことで、作成された[ハッシュ]ディレクトリに.pngを.thumbnails/normal/および/または.thumbnails/large/中ユーザーのホームディレクトリ。プログラムは同じハッシュを実行し、代わりにゼロバイトのサムネイルファイルを書き込むことができます。運がよければ、サムネイルルーチンはサムネイルファイルが既に存在することに気付き、画像のサムネイル化をスキップします。
ジョス

どのサムネラーを使用していますか?サムネイルはどこに保存しますか?
-daltonfury42

@ daltonfury42言えません。私がこれを特に必要としていた状況は、古い、今では死んでいるラップトップでした。そこでXFCEを使用してUbuntuを実行していたため、タンブラーであるか、サムネールが呼び出されたと思います。とにかく、これが可能であれば、より一般的な解決策になるはずです。
バイトコマンダー

回答:


2

@Fabbyの回答に加えて:

  1. パッケージinoticomingをインストールします

    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>" \;
    

問題は1つだけです。変更は、nautilus -q

inoticoming --foreground …スクリプトをテストする場合は、デーモンモードを回避するために使用します。


さて、nautilus -qnautilusバックグラウンドプロセスを強制終了し、メモリにキャッシュされたサムネイルを解放します。そして、なぜコマンドの\;最後にあるのinoticomingですか?
バイトコマンダー

@ByteCommanderをマスクするには、次のコマンドの区切り文字としてではなく、コマンドで;必要;です。
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を再起動します。

nautilus -q

のサムネイルは表示されません/home/user/Pictures/image 1.png

これで、特定のフォルダをスキャンして上記の手順を自動的に実行するスクリプトを作成するだけで済みます。

クレジット :P


そのスクリプトを追加し、サムネイルを0バイトのファイルで上書きする行を含めていただければ幸いです!ああ、スクリプトを自動的に実行する方法を教えてください(またはリンク)。ベストはこれが可能だった場合...私は@ABが関係していると思い、けれどもあなたにその恵みを与える方法は考えている彼は...それを提供していますように、その、そのフォルダ内のファイルシステムイベントに反応するだろう
バイト司令官

@ByteCommanderのようなものですか?
AB

@ABはい、よさそうです。そのスクリプトとすべてを一緒に使用して別の回答を作成する場合、それは素晴らしいことです!:-)
バイトコマンダー

@ByteCommander完了:)
AB
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.