我使用的是具有雙啟動作業系統的筆記型電腦,使用 Windows 10 和 MX Linux(基於 Debian)。
我創建了一個在兩個系統 (Firefox 71.0) 上使用和共享的 Firefox 設定檔資料夾:
- 設定檔資料夾儲存在單獨的(非作業系統)NTFS 分割區上
- 兩個系統都可以在登入後立即存取該分割區
- 兩個 Firefox 安裝均設定為使用此設定檔資料夾
一般來說,這個設定運作良好。
然而,每次我切換作業系統時都會出現一個小(煩人的)問題:
首次啟動瀏覽器時,所有已安裝的應用程式(擴充功能)都會遺失。簡單地重新啟動 Firefox 即可解決此問題,第二次啟動後,所有應用程式均恢復正常運作。
但在我切換作業系統後,第一次啟動 Firefox 時,它們又消失了。
無論我從 Linux 切換到 Windows 還是相反,第一次啟動瀏覽器後,所有已安裝的應用程式都會遺失。
其他設定似乎是正確的,看起來只是與已安裝的應用程式有關。
由於這個問題可以透過每次切換作業系統時重新啟動 Firefox 來解決,所以它「只是」很煩人 - 但我很想解決這個問題。
我能發現什麼:
切換作業系統並啟動 Firefox 後,我查看了設定檔目錄,看看其中發生了哪些變更。瀏覽器的第一次啟動只涉及一些事情。
在設定檔目錄中,此檔案已變更:
- 擴展.json
- 搜尋.json.mozlz4
- 相容性.ini
- 父鎖
- 儲存.sqlite
……以及這個資料夾:
- 快取2
- 啟動快取
出於顯而易見的原因,我檢查extensions.json
並發現其中有硬編碼的絕對路徑到我的設定檔目錄。
Windows 上的路徑範例,首次啟動後:
D:\\SharedSystem\\Mozilla\\Firefox\\extensions\\[...etc...] file:///D:/SharedSystem/Mozilla/Firefox/extensions/[..etc...]
Linux 上的路徑範例,首次啟動後:
/media/vc1/SharedSystem/Mozilla/Firefox/extensions/[...etc...] file:///media/vc1/SharedSystem/Mozilla/Firefox/extensions/[...etc...]
第二次啟動瀏覽器不會再次變更此檔案。
我不知道其他文件或目錄是否相關或我可以在那裡檢查什麼。
我不確定,但我可以猜測一個可能的解決方案:
該文件extensions.json
可能會導致我的問題。似乎擴充路徑儲存在那裡,當切換作業系統時,Firefox 會自動使用目前作業系統的相應路徑重新建立該檔案。
……但是我現在能做什麼,才能讓這個檔案同時適用於 Linux 和 Windows?
我現在一無所知。有什麼想法可以避免這種首次啟動行為嗎?最好的解決方案是更新安全的解決方案,或至少易於維護的解決方案。
更新:
事實並非如此extensions.json
——在第一次啟動瀏覽器之前,我在 Linux 和 Windows 上都備份了這個文件,並用當前作業系統的備份替換了原始文件。沒用,應用程式仍然丟失。
它必須是配置文件目錄中的其他任何內容,但猜測和探索目前似乎沒有幫助...
感謝您對此的任何幫助或想法!
答案1
完畢。
我不想使用 Firefox Sync,我會把它留在這裡,以防有人嘗試類似的事情:
我仔細查看了設定檔目錄和包含插件路徑或作業系統相關詳細資訊的檔案。
這三個是相關的:
- addonStartup.json.lz4(我一開始就錯過了)
- 相容性.ini
- 擴展.json
1) 我在 Windows 中啟動 Firefox 兩次以使其正常工作,並將這三個檔案保存在單獨的目錄中。
2)然後我在Linux中做了同樣的事情。
3) 之後,我為兩個作業系統建立了自動啟動條目,將目前作業系統的這三個檔案複製到 Firefox 設定檔目錄中,覆蓋現有的檔案。
因此,登入作業系統後,匹配的設定檔將複製到它們所屬的位置,並且 Firefox 在首次啟動時即可正常運作。
如果有更新(當然,我必須在兩個作業系統上安裝),我可以更新這三個檔案的備份 - 這對我來說沒問題。
這樣,我可以為兩個系統使用相同的設定檔目錄,並避免使用 Mozilla 同步服務。