
例如,從 Firefox 開啟郵件附件(無需事先儲存);這是一個 Libre Office 文檔,您可以對其進行編輯,然後按“儲存”(而不是“另存為”)並關閉文字編輯器和瀏覽器。然後該文檔就會消失,因為它預設儲存在/tmp
.至少在我的 Ubuntu 12.04 上是這樣。
您認為這是正確的行為嗎?該程式不應該至少提醒您,您並沒有真正保存任何東西嗎?或者有什麼方法可以恢復檔案(也在登出和/或重新啟動後)?
答案1
對此我發現,當您選擇在 Firefox 中使用外部程式開啟文件時,會發生的情況是 Firefox 將程式下載到/tmp
,然後使用下載的檔案作為參數運行所選程式(讀取“使用以下命令開啟檔案” )所選程序')。
如果您隨後Save As
從程式中儲存該檔案(不選擇或等效項),它將在/tmp
.
Firefox 關閉時會清理這些暫存檔案。因此,如果關閉 LibreOffice,但關閉 Firefox,則可以恢復該檔案。然而,一旦 Firefox 關閉,該檔案就會被刪除。
在大多數(所有?)發行版上,該/tmp
資料夾也會在重新啟動時被清空(其中的檔案/var/tmp
應該保留更長時間)。
另請注意,此行為僅適用於使用外部程式「開啟」檔案。如果該文件是透過外掛程式或其他方式在內部開啟的,則該文件似乎/tmp
未使用(該文件似乎與網頁本身一起緩存在其他地方)。
更新
作為參考(除非有必要,否則我不建議這樣做),您可以/tmp
使用該選項在 Firefox 關閉時停用刪除檔案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
將它們保留該天數,一旦它們的時間到了,它們將在下次重新啟動時刪除。顯然,如果該行被註解掉,請取消註解。
答案2
Firefox 有一個用於「開啟」檔案的快取。每次關閉 Firefox 時都會清除此快取。如果您使用 LO 開啟該文件,然後關閉 Firefox,您會發現該文件將會消失。對於所有 Firefox 都是如此,無論它們是否儲存在其中/tmp
。
答案3
您認為這是正確的行為嗎?
我不得不說我不這麼認為。但我有點偏見,因為這個怪癖幾乎損失了六個小時的工作。
我認為任何讓用戶在沒有警告的情況下做一些可能是災難性的事情的 GUI 都是有缺陷的,無論背後的設計決策多麼「合乎邏輯」。當使用者可以在類似的程式(如 Chrome)中執行完全相同的操作而不會產生任何不良影響時,尤其如此。
該程式不應該至少提醒您,您並沒有真正保存任何東西嗎?
嗯……也許帶有複選框的彈出視窗“不再顯示此訊息”會很有用。更有用的是對 LibreOffice 和類似程式的一個小修復,警告使用者他們正在保存的檔案是否保存在 /tmp 或其他位置。我的意思是,如果您按“保存”,您希望文件保存在某個地方,對吧?
或者有什麼方法可以恢復檔案(也在登出和/或重新啟動後)?
是的,如果你幸運的話。我從 USB Linux 安裝啟動計算機,並設法使用 extundelete 恢復檔案。
答案4
您認為這是正確的行為嗎?
當然這是正確的行為。它只發生在你沒有選擇的時候節省文件,而是選擇打開它。在我看來,通常最好保存所有內容而不是打開。
該程式不應該至少提醒您,您並沒有真正保存任何東西嗎?
為什麼?如果您想保存,為什麼不選擇下載檔案?
或者有什麼方法可以恢復檔案(也在登出和/或重新啟動後)?
沒有。當它仍在 tmp 中時,您必須複製它。