建立一個 PipeWire 輸出切換腳本,用於行動活動音訊
使用 pactl 腳本在指定的 PipeWire 輸出之間切換 Debian 音頻,腳本會更新預設接收器並重新路由正在播放的串流。
如果某個 Flatpak 應用程式開啟時使用的是 Adwaita 主題,而 Ubuntu 24.04 的其他部分使用的是 Yaru 主題,那麼你桌面上安裝的主題檔案可能沒有問題。 Flatpak 在沙盒環境中運作應用,因此程式不會自動讀取宿主機上的所有主題檔案。通常的解決方法是確保 Flatpak 運行時能夠存取所選主題,並且桌面設定服務能夠傳遞當前選擇的主題。
本指南從簡單的檢查入手,逐步深入到針對性的故障排除。它主要適用於 GTK 3 應用程式。 GTK 4 和 libadwaita 應用程式可能遵循不同的樣式規則,因此在「檔案」或其他 GTK 3 應用程式中有效的樣式主題並不能保證適用於所有 Flatpak 視窗。
GTK主題控制使用 GTK(用於建立圖形介面的工具包)的應用程式中按鈕和選單等介面元素的外觀。 Flatpak運行時提供沙盒應用程式使用的共享庫。沙盒將應用程式的檔案系統與宿主系統隔離。因此,宿主主題檔案(例如位於 `/etc/flatpak/` 等位置的檔案)/usr/share/themes不會簡單地複製到每個 Flatpak 檔案中。
Flatpak 支援 GTK 3 主題的方法是創建一個以主題命名的擴展,通常遵循 `<theme-name>` 標籤org.gtk.Gtk3theme.ThemeName。如果擴充功能存在於應用程式執行時的已設定遠端目錄中,Flatpak 可以將其與應用程式一起安裝,或在更新期間安裝。桌面環境也必須公開活動設定:X11 使用 XSettings,而 Wayland 使用設定入口網站。設定入口網站是一種桌面服務,它允許沙盒應用程式對選定的桌面功能和首選項進行受控存取。
Ubuntu 預設的 Yaru 主題已安裝在主機上,但這並不能證明每個應用程式和運行時都有對應的 Flatpak 主題擴充。可用性可能取決於主題名稱、配置的 Flatpak 遠端倉庫、運行時分支和工具包。 Flatpak 文件中提到,當某個主題或設定介面不可用時,Adwaita 將作為備用主題。
首先檢查主題是否已應用於普通桌面應用程式。開啟「設定」→「外觀」,記下所選樣式,然後開啟一個預先安裝的 GTK 應用程式。如果宿主應用程式也顯示異常,請先修復桌面外觀,然後再變更 Flatpak 設定。
您可以透過終端命令查看 GTK 主題名稱:
gsettings get org.gnome.desktop.interface gtk-theme
結果是一個引號的名稱,例如 ` 'Yaru'<name>`。請記錄拼字和大小寫。 Flatpak 會將主機選擇的 GTK 主題名稱與副檔名進行比對;搜尋名稱相似但不同的主題可能無法解決不符的問題。 Ubuntu 的 Yaru 專案將 Yaru 列為 Ubuntu 的預設 GTK 主題套件。
此外,也要確定您的會話是 Wayland 還是 X11。在登入畫面上,選擇您的用戶,然後使用齒輪選單(如有);會話名稱通常會顯示在那裡。這一點很重要,因為它們的設定路徑不同:Wayland 依賴 Portal,而 X11 使用 XSettings。 Ubuntu 24.04 的預設 GNOME 會話通常使用 Wayland,但使用者可以選擇其他會話。
執行 Flatpak 常規更新,以便刷新已安裝的應用程式、運行時和可用擴充功能:
flatpak update
確認更改前,請先查看建議的變更。接下來,在已設定的遠端伺服器上搜尋與您記錄的主題名稱相符的擴充功能。例如,對於 Yaru 主題,請嘗試:
flatpak search org.gtk.Gtk3theme.Yaru
如果搜尋結果包含符合的擴充程序,請記下顯示的準確應用程式 ID 和遠端位址。僅當 Flatpak 尚未安裝該擴充功能時才進行安裝。請務必使用顯示的 ID 和遠端位址:
flatpak install REMOTE EXTENSION_ID
請將兩個大寫佔位符替換為實際值。請勿從無關的主題或運行時分支複製猜測的擴充 ID。某些擴展版本可能不適用於特定運行時;在這種情況下,即使宿主程式使用的是 Yaru,應用程式也可以繼續使用 Adwaita。
Flatpak 的桌面整合文件指出,如果遠端目錄中存在匹配的 GTK 主題擴展,則會在應用程式安裝或更新期間自動安裝這些擴展。因此,如果擴充功能可用但應用程式未安裝,則更新應用程式即可解決問題。由於遠端目錄和軟體包會發生變化,搜尋結果可能會有所不同,因此請以本地 Flatpak 的輸出結果為準,而不是依賴軟體包名稱。
請徹底關閉受影響的應用程序,包括所有後台實例,然後重新開啟。正在運行的進程可能會保留啟動時讀取的外觀設定。
如果您使用 Wayland,並且多個 GTK Flatpak 仍然忽略所選樣式,請檢查 GTK portal 後端是否已安裝:
dpkg -l xdg-desktop-portal xdg-desktop-portal-gtk
查看軟體包清單中是否已安裝。 Flatpak 文件明確指出xdg-desktop-portal-gtk它是 GTK 主題和字體所必需的。如果缺少該軟體包,請從官方歸檔安裝 Ubuntu 軟體包:
sudo apt update
sudo apt install xdg-desktop-portal-gtk
首先儲存已開啟應用程式中的工作。然後登出並重新登錄,這樣可以乾淨地重啟用戶會話及其入口網站服務。對於初學者來說,這通常是最清晰明了的選擇。進階使用者可以透過終端機使用 `npm run restart` 指令重新啟動使用者服務systemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-gtk.service,但服務名稱和啟動行為可能會因安裝而異。如果該指令報告某個單元未載入,請使用登出操作,而不是重複重新啟動服務。
重新開啟同一個 Flatpak 文件,並將其按鈕、選單和視窗內容與從 Ubuntu 軟體包安裝的 GTK 應用程式進行比較。如果只有一個 Flatpak 檔案存在差異,則問題可能出在該應用程式的工具包、運行時或實作上。例如,某些 GTK 4 應用程式使用 libadwaita,它有意遵循 GNOME 的設計規範,並且不像舊版 GTK 3 應用程式那樣支援任意 GTK 主題。此外,GTK 3 的 Flatpak 擴充功能也無法變更 Qt 應用程式的樣式。
當應用程式使用較新的運行時環境且存在 GTK 3 主題擴充時,桌面設定通常應自動套用。如果未自動套用,請使用下列指令檢查應用程式的執行環境:
flatpak info APP_ID
替換APP_ID為應用程式的實際 ID。輸出結果有助於您確定執行時間環境和分支,以便在聯絡應用程式維護者時進行報表。但它本身並不能證明應用程式是否遵循 GTK 主題首選項。
更新或安裝匹配的擴充功能並重新啟動會話或應用程式後,請確認以下三點:主機仍會報告預期的 GTK 主題名稱;相關的主題擴充功能出現在 Flatpak 的已安裝應用程式中;以及受影響應用程式的 GTK 控制項現在顯示正常。您可以使用以下命令列出已安裝的 Flatpak:
flatpak list --app
如果宿主主題正確,但該擴充功能在應用程式運行時不可用,且只有一個應用程式的視覺效果有所不同,則此限制可能是應用程式本身的問題,而非 Ubuntu 主題損壞。提交報告時,請提供 Flatpak 應用程式 ID、運行時分支、會話類型、主題名稱以及相關的入口網站軟體包狀態。這將有助於維護人員區分軟體包缺失和桌面設定問題。
使用 pactl 腳本在指定的 PipeWire 輸出之間切換 Debian 音頻,腳本會更新預設接收器並重新路由正在播放的串流。
選擇正確的輸入來源,使用免持音訊設定文件,並檢查 Ubuntu 的 PipeWire 路由,即可使您的藍牙耳機麥克風正常運作。
了解為什麼 Flatpak 應用可能會忽略 Ubuntu 24.04 GTK 主題,並按照安全步驟檢查主題擴充、刷新 Flatpak 應用程式以及診斷入口網站問題。
Install Ubuntu 24.04 alongside Windows 11 with BitLocker safely. Compare separate-drive and shared-drive paths, recovery keys, partitioning, and boot checks.
診斷 Ubuntu 核心更新後 NVIDIA 驅動程式故障。檢查 DKMS 和安全啟動,重建匹配的模組,註冊 MOK,並驗證修復效果。
修復 Ubuntu 24.04 系統掛起後 Wi-Fi 斷開的問題,檢查 NetworkManager、無線電模組、更新、省電模式和驅動程序,然後驗證每次恢復操作。
了解為什麼 tracker-miner-fs-3 在 Ubuntu GNOME 中佔用大量 CPU,以及如何檢查索引、排除資料夾、更新 Ubuntu 或安全地重建搜尋索引。
透過檢查啟動模式、EFI 系統分割區、GRUB 檔案和韌體啟動順序來修復 Debian 的 UEFI 啟動錯誤,而無需先重新安裝 Debian。
遇到 Windows 11 更新錯誤 0x800f0922?了解已驗證的有效解決方法,快速解決此常見問題。逐步指南,幫助您輕鬆完成更新,告別煩惱。
遇到 Windows 11 系統還原錯誤 0x80070005 ?我們提供經過驗證的分步解決方案,幫助您輕鬆修復訪問被拒絕問題,並順利恢復系統。無需任何技術知識!