Featured image of post 如何在 Ubuntu 上將 Firefox 從 Snap 版本轉換為原生 Deb 版本並優化系統整合

如何在 Ubuntu 上將 Firefox 從 Snap 版本轉換為原生 Deb 版本並優化系統整合

教你在 Ubuntu 上徹底移除 Snap 版 Firefox,改用 Mozilla 官方 PPA 安裝原生 Deb 版本,並修復剪貼簿與系統檔案整合等常見問題。

簡介

Ubuntu (自 21.10 起) 預設將 Firefox 瀏覽器打包為 Snap 格式。雖然 Snap 提供了隔離性,但在桌面應用上常伴隨著冷啟動緩慢、與系統主題不整合、剪貼簿失效以及無法正確呼叫外部應用程式等問題。

本教學將引導您徹底移除 Snap 版 Firefox,改用 Mozilla 官方維護的 PPA 安裝原生 Deb 版本,並透過關鍵的參數微調,修復剪貼簿貼上與檔案關聯(MIME Handler)的整合性問題。

重新安裝 firefox

先決條件

在開始之前,請確保您具備以下條件:

  • 一台安裝了 Ubuntu 22.04 或更高版本的電腦。
  • 具有 sudo 權限的非 root 使用者帳號。
  • 基本的終端機 (Terminal) 操作能力。

正文步驟

Step 1 — 備份與移除 Snap 版 Firefox

在移除目前的瀏覽器之前,若您未使用 Firefox Sync 同步書籤與設定,建議先手動備份設定檔。接著,我們將從系統中移除 Snap 版 Firefox。

  1. (選用)備份設定檔: Snap 版的設定檔位於 ~/snap/firefox/common/.mozilla/firefox/。若需備份,請將該目錄複製到安全位置。
  2. 移除 Snap 套件: 執行以下指令將 Firefox Snap 套件移除。
sudo snap remove firefox
  • 為什麼要這樣做?:這會清除系統中執行緩慢的沙盒版 Firefox,為原生版本的安裝騰出空間。

Step 2 — 加入 Mozilla Team PPA 並設定優先級

Ubuntu 的預設軟體庫 (Repository) 中的 firefox 套件其實是一個指向 Snap 的空殼。為了安裝真正的原生版,我們需要加入 Mozilla 團隊的 PPA,並告訴 apt 套件管理員優先使用這裡的版本。

  1. 加入 PPA: 將 Mozilla Team 的官方儲存庫加入您的系統。
sudo add-apt-repository ppa:mozillateam/ppa
  1. 設定 Apt 優先級 (Pinning): 這是最關鍵的一步。若不設定優先級,下次系統更新時,Ubuntu 會自動將 Firefox 覆蓋回 Snap 版本。請複製以下整段指令並執行:
echo '
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
' | sudo tee /etc/apt/preferences.d/mozilla-firefox
  • 預期結果:系統會在 /etc/apt/preferences.d/ 下建立一個檔案,強制系統給予 Mozilla PPA 高於預設庫的優先權 (1001 > 500)。

權限高低


Step 3 — 安裝原生 Firefox 並設定自動更新

現在環境已經準備就緒,我們可以安裝效能更好的原生版 Firefox,並確保它能隨系統自動更新。

  1. 更新列表並安裝
sudo apt update
sudo apt install firefox
  1. 設定無人值守更新 (Unattended Upgrades): 為了安全性,建議允許系統自動更新此 PPA 的軟體。
echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox

Step 4 — 關鍵設定微調:修復剪貼簿與系統整合

原生版 Firefox 在某些桌面環境(特別是 Wayland)下,預設設定可能會導致剪貼簿無法貼上圖片,或是下載檔案後無法正確呼叫系統程式開啟。我們需要手動調整這兩項設定。

  1. 進入進階設定: 開啟 Firefox,在網址列輸入 about:config 並按下 Enter。若出現警告視窗,請點擊「接受風險並繼續」。
  2. 修正剪貼簿貼上問題
  • 搜尋:dom.event.clipboardevents.enabled
  • 設定值:確保切換為 true
  • 說明:這允許網頁讀取剪貼簿事件,解決 Messenger 或 Discord 網頁版無法直接貼上截圖的問題。
  1. 修正檔案開啟關聯 (MIME Handler)
  • 搜尋:widget.use-xdg-desktop-portal.mime-handler
  • 設定值:將數值修改為 1 (整數)。
  • 說明:這強制 Firefox 使用系統原生入口 (XDG Desktop Portal) 來處理檔案關聯。
  • 效果:當您下載 PDF 或圖片並選擇「開啟」時,Firefox 會正確呼叫 Ubuntu 系統預設的應用程式,而不是跳出錯誤或無法辨識。

更改後解決相關問題


驗證/測試

完成上述步驟後,請執行以下檢查以確認安裝成功與功能修復:

  1. 驗證二進位檔路徑: 在 Firefox 網址列輸入 about:support,查看「應用程式二進位檔 (Application Binary)」一欄。
  • 成功: 路徑應為 /usr/lib/firefox/firefox
  • 失敗: 若路徑包含 /snap/,代表您仍在使用 Snap 版本。
  1. 功能驗證
  • 剪貼簿:嘗試截圖並直接貼上到 Discord 網頁版對話框。
  • 檔案開啟:下載一個 PDF 檔案,點擊下載清單中的檔案,確認它是否能直接喚起系統的 PDF 檢視器(如 Document Viewer)。

結論

您已成功將 Ubuntu 上的 Firefox 替換為效能更佳的原生 Deb 版本,並透過 about:config 的深度優化,解決了常見的剪貼簿與檔案整合痛點。