修復 Ubuntu 24.04 中 Flatpak 應用不遵循 GTK 主題的問題
排查 Ubuntu 24.04 上忽略 GTK 主題的 Flatpak 應用程式問題。檢查主題擴充、GTK 入口網站、淺色和深色設定以及應用程式工具包限制。
如果在 Ubuntu 24.04 上,Flatpak 應用程式開啟時顯示 Adwaita 或淺色介面,而桌面主題設定為深色,請先檢查應用程式使用的是 GTK 3 還是 GTK 4/libadwaita。然後更新 Flatpak,啟用匹配的 GTK 3 主題擴展,並確認桌面入口網站已安裝。 Flatpak 應用程式運行在沙盒環境中,因此不會自動讀取 Ubuntu 主機上安裝的所有主題檔案。
| 你所看到的 | 可能原因 | 第一行動 |
|---|---|---|
| GTK 3 應用程式使用 Adwaita 而不是 Yaru | 當前主題擴充缺失或對應用程式運行時不可見。 | 更新 Flatpak 並安裝匹配的主題擴展 |
| Flatpak 忽略了 Ubuntu 的黑暗風格 | 入口網站、配色方案設定或應用程式支援問題 | 檢查外觀、門戶軟體包,然後重新啟動應用程式 |
| 只有一款應用程式看起來不一樣。 | 該應用程式可能使用 GTK 4/libadwaita、Qt、Electron 或自訂樣式。 | 在更改系統設定之前,請先確定所需的工具包。 |
這些步驟適用於 Ubuntu 24.04 上的 Flatpak 應用程序,尤其是從 Flathub 安裝的應用程式。它們並不會強制所有應用程式使用 Ubuntu 的完整桌面樣式。 GTK 3 主題擴充、淺色/深色模式、圖示和應用程式特定的樣式都是獨立設定的。
Flatpak 應用程式使用其自身的執行環境,而非宿主機的系統庫和主題目錄。 Flatpak 無法直接將 Ubuntu/usr/share/themes的主題來源暴露出來:沙箱環境擁有獨立的運行時檔案系統,主題可能依賴特定的 GTK 版本。因此,Flatpak 將受支援的 GTK 3 主題作為運行時擴充進行分發。
Flatpak 可以讀取主機目前啟動的 GTK 主題名稱,並在應用程式的遠端目錄中找到匹配的擴充功能時進行安裝。但該主題仍需對應用程式可見。在 X11 環境下,GTK 3 可以透過 XSettings 接收所選主題。在 Wayland 環境下,GTK 透過桌面設定入口網站讀取相關的外觀設定。如果缺少主題擴充或適當的整合路徑,應用程式可以回退到 Adwaita 主題。
Ubuntu 24.04 的設定面板提供淺色和深色桌面樣式。但這並不意味著所有應用程式都會使用 Yaru GTK 3 主題。使用 libadwaita 構建的 GTK 4 應用程式通常會遵循系統支援的外觀設置,但它們不一定接受任意的舊版 GTK 主題覆蓋。即使是名為 GTK 3 的 Flatpak 主題擴展,也無法更改所有 GTK 4 或 libadwaita 應用程式的樣式。
有關技術概述,請參閱Flatpak 的桌面整合和主題文件及其GTK 入口網站支援文件。
開啟「設定」>「外觀」,選擇所需的淺色或深色樣式。選擇會立即套用至桌面。如果您使用 GNOME Tweaks 或其他工具選擇自訂 GTK 主題,請記下其確切的主題名稱;軟體包名稱和主題名稱在大小寫或後綴上可能有所不同。
您可以在終端機中查看目前使用的 GTK 主題名稱和配色方案首選項:
gsettings get org.gnome.desktop.interface gtk-theme
gsettings get org.gnome.desktop.interface color-scheme
第一條指令會報告儲存在 GNOME 設定中的主題名稱;第二個指令會報告首選的淺色/深色主題方案(如果支援)。這些命令僅檢查值。除非您已安裝主題並打算使用它,否則請避免設定從教學課程複製的主題名稱。更改外觀設定後,請重新啟動受影響的應用程序,因為許多程式會在啟動時讀取其主題。
請先刷新已安裝的應用程式和執行時間環境。 Flatpak 的主題整合文件已發布,當配置的遠端倉庫中存在所需主題時,Flatpak 可以在安裝或更新過程中自動安裝匹配的擴充功能。
flatpak update
如果應用程式仍然使用備用主題,請列出 Flathub 公開的 GTK 主題擴充:
flatpak remote-ls --columns=application flathub | grep '^org.gtk.Gtk3theme'
選擇名稱與您選擇的 GTK 3 主題相符的擴充功能。 Flathub 目前列出了 Yaru 主題的變體,包括org.gtk.Gtk3theme.Yaru-light。例如,僅當該變體與您想要的主題相符時才安裝它:
flatpak install flathub org.gtk.Gtk3theme.Yaru-light
Flathub 的Yaru-light 主題清單將其標識為 GTK 主題包。匹配的主題名稱取決於主機設定和遠端伺服器目前發布的內容。如果您使用不同的 Yaru 變體或第三方主題,請使用flatpak search遠端伺服器清單尋找其確切的擴充 ID;不要根據其視覺名稱推斷套件後綴。
如果主題已安裝但應用程式已在運行,請關閉所有視窗並重新開啟。如果問題仍然存在,請在確認擴充功能和應用程式來自同一個 Flatpak 安裝後再次更新:
flatpak list --app
flatpak list --runtime | grep -i theme
flatpak update
Flatpak 會區分使用者級安裝和系統級安裝。如果您使用 `--app` 安裝了應用--user,但擴充功能是系統級安裝的,反之亦然,則應用程式可能無法在預期位置找到擴充功能。請盡可能將應用程式和擴充功能放在同一安裝範圍內。您可以使用 `.` 指令檢查特定應用程式的安裝情況flatpak info APP_ID。
GTK 的 Flatpak 入口網站文件指出,xdg-desktop-portal-gtkGTK 主題和字體需要從後端。 Ubuntu 為 Noble (24.04 LTS) 版本發布了從後端。如果缺少此軟體包,請從 Ubuntu 軟體倉庫安裝:
sudo apt update
sudo apt install xdg-desktop-portal-gtk
Ubuntu GNOME 也使用 GNOME Portal 後端來實作桌面特定的入口網站功能。安裝 GTK 後端並不代表您應該移除或替換 GNOME 後端。請保留桌面環境提供的入口網站軟體包。安裝完成後,請登出並重新登錄,或重新啟動使用者入口網站服務,然後重新啟動受影響的應用程式:
systemctl --user restart xdg-desktop-portal.service
如果 systemd 報告該單元不可用,請登出並重新登入。入口網站啟動詳情可能會因會話和軟體包狀態而異。 Ubuntu 的軟體套件清單確認xdg-desktop-portal-gtk 適用於 Ubuntu 24.04。
如果可以,請測試多個 GTK 3 Flatpak 應用。如果多個 GTK 3 應用程式都能套用主題,但有一個應用程式不行,那麼剩餘的問題可能出在該應用程式或其執行環境上。如果 GTK 3 應用可以正常工作,但現代 GNOME 應用仍然顯示不同的強調色或控制外觀,這是正常的:GTK 3 主題擴展無法以相同的方式應用於 GTK 4/libadwaita。
有些應用程式即使外觀與 GNOME 應用相似,也可能使用 Qt、Electron 或它們自己的介面工具包。在這種情況下,GTK 主題擴展可能無效。在更改 Flatpak 權限之前,請查看應用程式的官方文檔,以了解其支援的外觀選項。對於從 Flathub 安裝的 Flatpak 應用,請使用以下命令檢查其應用 ID 和運行時:
flatpak info APP_ID
替換APP_ID為顯示的應用程式 ID flatpak list --app。輸出結果有助於識別其運行時和安裝範圍;但它並不總是會告訴你工具包,因此必要時請從應用程式本身的文件或專案頁面確認工具包。
flatpak update已完成,應用程式和主題擴充功能均在相容的安裝範圍內。xdg-desktop-portal-gtk已安裝;更改後,使用者會話或入口網站已重新啟動。如果檢查清單通過,但某個應用程式仍未更改,那麼下一步最有效的辦法是查閱該應用程式的問題追蹤器或文檔,並提供其 Flatpak ID、運行時、Ubuntu 會話類型(Wayland 或 X11)以及兩個只讀命令的輸出結果gsettings。這有助於區分應用程式特有的樣式選擇和缺少的桌面整合組件,同時又不削弱沙盒的安全性。
Ubuntu 目前的官方使用者指南在「設定」>「外觀」中介紹了淺色/深色主題的設定。 Flatpak 的行為會因其版本、應用程式運行時、入口網站後端、工具包和遠端元資料而異;如果當前主題未打包到運行時中,應用程式可能仍會使用其預設外觀。
排查 Ubuntu 24.04 上忽略 GTK 主題的 Flatpak 應用程式問題。檢查主題擴充、GTK 入口網站、淺色和深色設定以及應用程式工具包限制。
在 Pardus 上設定 LIDER AHENK,並採用以品質為中心的設定:驗證先決條件、部署 Lider、註冊 Ahenk 用戶端並驗證管理。
使用 Pardus NVIDIA 驅動程式安裝程式在 Pardus 23 上啟用 NVIDIA 驅動程式。檢查 GPU 相容性、安全重新啟動、驗證驅動程式並解決常見問題。
使用可重複的基準測試方法,比較 Ubuntu Server 24.04 Minimal 和 Standard 安裝的磁碟使用情況、記憶體、啟動時間、服務和實際工作負載效能。
安全地解決 SLES 中的 Zypper 鎖定錯誤。識別進程,選擇等待或停止該進程,並區分事務鎖和包鎖。
公平地比較 Pardus XFCE 和 GNOME 的記憶體使用情況。看看官方 25.2 版本的信息,了解如何測量可用內存,以及哪個版本更適合您的電腦。
對 HamoniKR OS 8 Paektu 商業桌面版進行實用評測,涵蓋其 Ubuntu 24.04 基礎、2034 年更新聲明、韓國工作流程和企業試點檢查。
使用 GRUB 復原模式重設 HamoniKR OS 上忘記的管理員或 root 密碼,包含已驗證的指令、故障排除技巧和加密注意事項。
了解如何將 HamoniKR 使用者設定備份到外部磁碟機、驗證存檔以及安全地還原選定的桌面和應用程式首選項。
了解如何在 SUSE Linux Enterprise Server 上建立、解鎖、格式化、掛載和持久化 LUKS 加密磁碟區,以及安全檢查和復原提示。