Firefox

保存在 /tmp 中並不是真正的保存?

  • July 14, 2014

例如從 Firefox 打開一個郵件附件(之前沒有保存它);這是一個 Libre Office 文件,您對其進行編輯,然後按下保存(不另存為)並關閉文本編輯器和瀏覽器。然後文件消失,因為它預設儲存在/tmp. 至少在我的 Ubuntu 12.04 上是這樣。

你認為這是正確的行為嗎?該程序不應該至少提醒您您並沒有真正保存任何東西嗎?或者有什麼方法可以恢復文件(也在註銷和/或重新啟動後)?

玩弄這個我發現,當您選擇在 Firefox 中使用外部程序打開文件時,會發生什麼情況是 Firefox 將程序下載到/tmp,然後使用下載的文件作為參數執行所選程序(讀取 ‘opens the file with選擇的程序’)。

如果您隨後Save As從程序中保存文件(不選擇或等效),它將使用/tmp.

Firefox 會在關閉時清理這些臨時文件。因此,如果您關閉 LibreOffice,而不是 Firefox,則可以恢復文件。但是,一旦 Firefox 關閉,該文件就會被刪除。

在大多數(全部?)發行版上,該/tmp文件夾也將在重新啟動時清空(其中的文件/var/tmp應該保留更長時間)。

另請注意,此行為僅適用於使用外部程序“打開”文件。如果該文件是通過外掛或其他方式在內部打開的,則它似乎/tmp未被使用(該文件似乎與網頁本身一起記憶體在其他地方)。

更新

作為參考(除非必要,否則我不建議這樣做),您可以使用該選項/tmp在 firefox 關閉時禁用刪除文件。browser.helperApps.deleteTempFileOnExit這可以通過about:config頁面設置(只需在地址欄中輸入並按輸入鍵)。如果它存在並且是false,只需右鍵點擊它並選擇切換。否則,通過執行Right Click->New->Boolean添加它,然後輸入選項的名稱並選擇 false。

/tmp在最近基於 Debian 的系統上儲存下次重新啟動後的文件,首先查看/etc/default/tmpfs並確保 is noRAMTMP=yes行。如果它被註釋掉(#在開始時),這很好(如果它被設置,那麼/tmp它將tmpfs位於記憶體中的文件系統上並且不會儲存在磁碟上)。接下來添加或更改TMPTIME. /etc/default/rcS要無限期儲存/tmp文件,您可以執行以下操作:

TMPTIME=infinite

或者您可以使用正數而不是infinite將它們保留該天數,一旦它們的時間到了,它們將在下次重新啟動時被刪除。顯然,如果此行被註釋掉,請取消註釋。

引用自:https://unix.stackexchange.com/questions/122250