Firefoxでファイルを保存せずに内部プラグイン(pdfやdocファイルなど)なしで開くことを選択した場合、デフォルトの動作はファイルが/ tmpと選択したアプリケーション(mupdfまたはlibreofficeなど)が一時ファイルを入力として開きます。一時ファイルのファイル名は、同じ名前のファイルが/ tmpにすでに存在しない限り、通常ダウンロードしたファイルの元の名前です。この場合、拡張子の前にファイル名にサフィックス(-1、-2、-3など)が追加されます。 Firefoxが閉じると(デフォルトの動作が変わらない限り)、/ tmpから一時ファイルが削除されます。
不要になったとき(つまり、それを使用しているアプリケーションが無効になったとき)に、各一時ファイルを削除する方が便利です。これを達成する方法はありますか?
あるいは、同じ名前のファイルがすでに存在する場合は、/ tmpの既存のファイルを新しいファイルに置き換える方が良いでしょうか? (つまり、ファイル名は変更されません。)可能ですか?
ベストアンサー1
一時ファイルをできるだけ早く削除するには、次のようなラッパーを作成できます。
#!/bin/sh
the-application "$1"
rm -f "$1"
the-application
実際の実行可能ファイルの名前に変更し、Firefoxにアプリケーションの代わりにこのラッパーを使用するように依頼してください。または:
#!/bin/sh
the-application "$1"
case "$1" in
/tmp/*) rm -f "$1" ;;
esac
このフォームは、Firefoxの将来のバージョンが「ファイル:」URLの新しいファイルを生成しない場合(ファイルを削除したくない場合)、より安全になります。
一部のアプリケーションはすぐに返されるため、アプリケーションが終了する前にファイルを削除すると正常に動作しない可能性があります。この場合、できることはあまりありません(少なくとも信頼できる方法で)。
代替(既存のファイルを同じ名前で置き換える)に関して、これは使用されている他のアプリケーションと競合し、/tmp
セキュリティに影響を与える可能性があります。一般的に言えば、これは良い考えではありません。