回答:
これを試してみると、Firefoxで外部プログラムを使用してドキュメントを開くことを選択すると、Firefoxがプログラムを/tmp
ダウンロードし、ダウンロードしたファイルを引数として選択したプログラムを実行することがわかります(read 'でファイルを開く選択されたプログラム」)。
その後Save As
、プログラム内からファイルを(選択せずに、または同等のものを使用せずに)保存すると、このファイルがで使用され/tmp
ます。
Firefoxは、閉じるときにこれらの一時ファイルをクリーンアップします。そのため、FirefoxではなくLibreOfficeを閉じれば、ファイルを回復できます。ただし、Firefoxを閉じるとすぐに、ファイルは削除されます。
ほとんどの(すべての?)ディストリビューションでは、/tmp
再起動時にフォルダーも空に/var/tmp
なります(ファイルはより長く存続するはずです)。
また、この動作は外部プログラムでファイルを「開く」ためだけのものであることにも注意してください。ファイルがプラグインなどを介して内部で開かれている場合、そのファイルは/tmp
使用されていないようです(ファイルはWebページ自体と一緒に他の場所にキャッシュされているように見えます)。
参考までに(必要でない限り、これを行うことはお勧めしません)、/tmp
Firefoxが閉じるときにon browser.helperApps.deleteTempFileOnExit
オプションを使用してファイルの削除を無効にすることができます。これはabout:config
ページから設定できます(これをアドレスバーに入力してEnterキーを押すだけです)。存在する場合はfalse
、それを右クリックしてトグルを選択します。それ以外の場合は、右クリック->新規作成->ブールを実行して追加し、オプションの名前を入力してfalseを選択します。
/tmp
最近のDebianベースのシステムで次回の再起動後にファイルを保存するには、まず、が表示され/etc/default/tmpfs
ていないことを確認しRAMTMP=yes
ます。それは(コメントアウトされている場合は#
開始時に)、これは(それが設定されたならば、問題あり/tmp
になりtmpfs
、メモリにファイルシステムとディスク上に格納されません)。次に、でTMPTIME
行を追加または変更し/etc/default/rcS
ます。/tmp
ファイルを無期限に保存するには、次のようにします。
TMPTIME=infinite
または、代わりに正の数を使用して、infinite
その日数の間それらを保持することができます。時間が経過すると、それらは次の再起動時に削除されます。この行がコメント化されている場合は、コメントを外してください。
/tmp
通常、ファイルは明確に消去されます。この設定をDebianベースのシステムでどのように変更できるかを更新しました。
これは正しい動作だと思いますか?
私はそうではないと思います。しかし、私は少し偏っていて、この癖のために6時間近く仕事を失いました。
ユーザーに警告せずに悲惨な可能性のある何かを実行させるGUIは、その背後にある設計上の決定がいかに「論理的」であっても、欠陥があると思います。これは特に、ユーザーが同様のプログラム(Chromeなど)でまったく同じことをして、悪影響を及ぼさない場合に当てはまります。
プログラムは、少なくとも実際には何も保存していないことを思い出させてはいけませんか?
うーん...「このメッセージを今後表示しない」というチェックボックスが付いたポップアップが役に立つかもしれません。さらに便利なのは、LibreOfficeと同様のプログラムの小さな修正で、保存するファイルが/ tmpまたはどこに保存されているかをユーザーに警告することです。つまり、「保存」を押すと、ファイルがどこかに保存されることを期待します。
または、ファイルを回復する方法はありますか(ログアウトや再起動後も)?
はい、運がよければ。私はusb linuxインストールからコンピューターを起動し、extundeleteを使用してファイルを回復することができました。
説明させてください。ダイアログで[ダウンロード先]ではなく[アプリケーションから開く]を選択すると、ファイルは引き続きダウンロードされます。この時点で、Firefoxはダウンロードしたファイルをアプリケーションで開きます。ただし、ファイルを保持したくないと想定しているため、Firefoxの終了時にこのファイルは削除されます。保持したい場合は、「ダウンロード先」を選択するか、アプリケーションで「名前を付けて保存」を使用するか、ファイルを/ var / tmp(filefoxが保持する場所)から移動するだけです。削除は元の場所にあるファイルにのみ適用されます。
他のアプリケーションが(技術的な意味で)開いたままにしても、ファイルは削除されることに注意してください。Unixライクなシステムでは、これは問題ではありません。ディレクトリエントリが消えても、ファイル自体は残り、アプリケーションが閉じるまで削除されません[この時点でのクラッシュにより、ディスクが不整合な状態になる場合があります。fsckはこの状況を「リンクされていないiノード」として報告します]
/tmp
するので、再起動時にクリアされている/tmp
ISのように取り付けられたtmpfs
ので、それをアンマウントした後、その内容を失う、RAM(またはスワップ)でそのファイルを格納しています、。