Chromium
Chromium 是一款來自 "The Chromium Project" 的開源圖形網絡瀏覽器,基於 Blink 渲染引擎。它也是商業軟體 Google Chrome 瀏覽器得以組成的基礎。
在這裡您可以看到 Google Chrome 與 Chromium 瀏覽器的區別。此外,還有一點重要的不同:
- 2021年3月2日發布的 Chromium 89 及其以後版本不再支持 Google 帳戶同步功能。
長期來講,最好考慮使用 xbrowsersync 來同步書籤數據。
在應用程式列表/網際網路#基於 Blink 您可以看到基於 Chromium 的其它瀏覽器。
安裝[編輯 | 編輯原始碼]
要安裝 Chromium,有以下幾種安裝包可選:
- chromium包——穩定版本
- chromium-devAUR——Dev 開發版本
- chromium-snapshot-binAUR——Nightly 每日構建版本
Google Chrome 軟體包:
- google-chromeAUR——穩定版本
- google-chrome-betaAUR——Beta 測試版本
- google-chrome-devAUR——Dev 開發版本
- google-chrome-canaryAUR——Canary 發行版本
配置[編輯 | 編輯原始碼]
設置為默認瀏覽器[編輯 | 編輯原始碼]
要將 Chromium 設置成默認瀏覽器或設置下載文件的打開方式,請參閱默認應用程式。
證書[編輯 | 編輯原始碼]
Chromium 使用 Network Security Services 進行證書管理。可以在 chrome://settings/certificates
中管理證書。
使 flag 持久化[編輯 | 編輯原始碼]
chromium-flags.conf
和附帶的自定義啟動腳本是特定於 Arch Linux 軟體倉庫所打的 chromium包 包的。對於 google-chromeAUR 和 google-chrome-devAUR,請用 chrome-flags.conf
和 chrome-dev-flags.conf
代替。您可以將 flag 寫入 chromium-flags.conf
文件,放到 $HOME/.config/
(或 $XDG_CONFIG_HOME
,需要配置環境變量)或全局的 /etc
目錄下。
無需使用特殊語法,這些 flag 就能像終端參數一樣被 Chromium 識別和使用。
- 參數按空格分割,並遵循 shell 引用規則,但不會做進一步的解析。
- 假如文件中有不正確的引用,則會引發 Fatal Error。
- 為了便於閱讀,可以將 flag 置於單獨的行中。
- 以井號(#)開頭的行不會被讀取. (這條規則只被 chromium包 啟動腳本所支持,所以在使用 google-chromeAUR 軟體包時其實是沒有這條規則的)
以下是 chromium-flags.conf
文件的一個例子,它定義了一個 --start-maximized --incognito
的 flag:
~/.config/chromium-flags.conf
# This line will be ignored. --start-maximized --incognito
強制使用 GPU 加速[編輯 | 編輯原始碼]
至少從 Chromium 110 開始,大多數系統默認啟用 GPU 加速。如果您的系統配置與阻止列表匹配,則可能必須將以下 flag 附加到持久配置:
chrome://gpu
可以看到對應的 bug report 的細節。
~/.config/chromium-flags.conf
--ignore-gpu-blocklist --enable-zero-copy
視頻硬體解碼[編輯 | 編輯原始碼]
- Arch 和 Chromium 都不對這個特性作官方的支持,參見[2]。但是,官方軟體倉庫中的 chromium包 已經編譯有 VA-API 支持,如果遇到問題您可以在這個論壇帖子中尋求幫助.
- 從 Chromium 122 版本開始不再需要額外的VA-API包。在原生 Wayland 後端下使用官方存儲庫中的 chromium包 包時 VA-API 就已經工作。
- 在 AMD GPU 設備上,VA-API 不能開箱即用,需要 mesa>= 24.1 並啟用 Vulkan。這可能會導致 X11/XWayland 下的 WebGL 出現問題。從版本 125.0.6422.141-1 起,Vulkan 和 Wayland 可一起使用。
chromium-flags.conf
中找到正確的 flag 組合時,請注意此文件最多應包含一行以 --enable-features
和 --disable-features
開頭。多個特性必須用逗號連接。如果要為 Chromium 啟用 VA-API 支持:
如果您已經通過檢查 vainfo
的輸出(參考硬體視頻加速#檢驗 VA-API)確認了有效的 VA-API 支持,則可以先單獨嘗試以下標誌:
~/.config/chromium-flags.conf
--enable-features=AcceleratedVideoDecodeLinuxGL
--enable-features=VaapiVideoDecodeLinuxGL
。否則請繼續嘗試以下步驟:
- 為您的顯卡安裝正確的 VA-API 驅動,並且確認 VA-API 已經被啟用並且正常工作,詳見硬體視頻加速。對於 NVIDIA 專有驅動的支持,請安裝 libva-nvidia-driver包 。
- 設置
--enable-features=VaapiVideoDecoder
這個參數,對於ANGLE GL渲染 + libva-intel-driver包生效。 - 當使用 ANGLE 時,Chromium 會強制使用舊的 i965 驅動,不支持 intel-media-driver包。一個解決方案是手動配置VA-API. 詳見[3] 。
- 如果想在 Xorg 上使用系統提供的 GL 渲染器,使用
--use-gl=egl
。使用Chrome 112時可能不再需要這麼參數,使用AMD GPU時這個參數可能會破壞 GPU 加速 - 如果VA-API仍不生效,請嘗試
--enable-features=VaapiIgnoreDriverChecks
或--disable-features=UseChromeOSDirectVideoDecoder
標誌。 - 如果在X11和舊顯卡上VA-API仍不生效,可以設置環境變量
LIBVA_DRI3_DISABLE=1
[4]。
Vulkan[編輯 | 編輯原始碼]
使用 Vulkan 時,以下標誌是必需的,並且在 Chromium 126 和 Mesa 24.1 上可能也足夠了:
~/.config/chromium-flags.conf
--enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE
無需上面提到的任何其他標誌。
小提示[編輯 | 編輯原始碼]
去檢查使用VA-API驅動程序支持的編解碼器是否可播放視頻( vainfo 會告訴您支持哪些編解碼器,但 Chromium 僅支持 VP9 和 h264):
- 通過按下
Ctrl+Shift+I
或在右擊菜單中選擇檢查按鈕打開開發工具 - 添加媒體選項卡:漢堡菜單>更多工具>媒體
- 在新打開的媒體選項卡中,查看視頻解碼器的硬體解碼器狀態
請測試足夠大的視頻。從版本86開始,桌面版 Chromium 將僅加速大於720p的視頻。
VP8/VP9 硬體解碼不可用時,想要減少觀看YouTube時的CPU占用,請使用 h264ify,enhanced-h264ify或者Not yet, AV1[5] 擴展。
在某些系統上 (尤其是在 Xwayland 上),您可能需要#強制使用 GPU 加速。僅需--ignore-gpu-blocklist
一個參數就達到目的。
您可能需要禁用 Skia 渲染器,因為它目前不兼容視頻解碼加速--disable-features=UseSkiaRenderer
。
KDE integration[編輯 | 編輯原始碼]
要集成到Plasma中,請安裝plasma-browser-integration包。有關更多詳細信息,請參閱KDE Plasma 瀏覽器集成。
PDF 閱讀插件[編輯 | 編輯原始碼]
Chromium 和 Google Chrome 內置了Chromium PDF Viewer 插件。如果您不想用這個插件,在chrome://settings/content/pdfDocuments
勾選你下載的PDF插件。
XWayland 上運行[編輯 | 編輯原始碼]
如果您使用的是 NVIDIA 的專有驅動程序,則在 XWayland 上運行 Chromium 可能會導致 GPU 進程偶爾崩潰。要防止 GPU 進程崩潰,請添加以下標誌:
--use-angle=vulkan --use-cmd-decoder=passthrough
原生 Wayland 上運行[編輯 | 編輯原始碼]
從97版本開始,可以使用以下標誌啟用 chromium 中的原生 Wayland 支持[6]:
--ozone-platform-hint=auto
如果這不起作用,例如在Weston下的使用106版本,請使用:
--ozone-platform=wayland
請參閱#使 flag 持久化進行配置。也可通過browser flags menu設置。
這將在 wayland 會話中選擇自動 wayland Ozone 後端,因此,即使您在 X11 和 Wayland 之間頻繁切換,也可以使用單個.desktop
文件。
此外,如果您在使用輸入法時遇到問題,您可能還想強制使用更新的 GTK:
--gtk-version=4
在採用上述標誌時,fcitx5可能也無法正常使用。嘗試使用--enable-wayland-ime
標識代替--gtk-version=4
,也可以進入 chrome://flags/
,啟用 Wayland text-input-v3
選項
--enable-wayland-ime --wayland-text-input-version=3
text_input_v1
協議的情況下,啟用--enable-wayland-ime
標誌才有效。已知實現該協議的合成器有:Weston,Kwin、Wayfire、Hyprland。用於導航的觸摸板手勢[編輯 | 編輯原始碼]
要啟用雙指滑動來回瀏覽歷史記錄,請使用以下標誌:
--ozone-platform-hint=auto --enable-features=TouchpadOverscrollHistoryNavigation
提示和技巧[編輯 | 編輯原始碼]
除非明確說明,否則以下提示和技巧應該適用於 Chromium 和 Chrome。
瀏覽體驗[編輯 | 編輯原始碼]
chrome:// URLs[編輯 | 編輯原始碼]
可以通過 Chrome URLs訪問到許多調整。請參閱 chrome://chrome-urls 獲取完整的列表。
- chrome://flags - 訪問實驗性功能,例如 WebGL 和使用 GPU 渲染網頁等。
- chrome://extensions - 查看、啟用和禁用當前使用的 Chromium 擴展。
- chrome://gpu - 各GPU選項狀態。
- chrome://sandbox -沙盒狀態指示。
- chrome://version -顯示版本和調節
/usr/bin/chromium
激活的開關。
此處提供了一直在更新的 Chromium 命令行參數開關的完整列表。
Chromium 任務管理器[編輯 | 編輯原始碼]
Shift+ESC 可調出瀏覽器任務管理器,其中可以查看內存、CPU 和網絡使用情況。
Chromium 覆蓋/重寫 Preferences 文件[編輯 | 編輯原始碼]
如果您啟用了與 Google 帳戶同步,Chromium 將覆蓋對 ~/.config/chromium/Default/Preferences
目錄下 Preferences 文件的任何直接編輯。解決方法,使用 --disable-sync-preferences
參數啟動 Chromium。
$ chromium --disable-sync-preferences
如果您是在登錄桌面環境時後台啟動 Chromium,請確保您的桌面環境使用的命令是:
$ chromium --disable-sync-preferences --no-startup-window
搜尋引擎[編輯 | 編輯原始碼]
要使 wiki.archlinux.org和 wikipedia.org等網站的首次搜索更方便,在設置 > 搜索下,點擊管理搜尋引擎。 在那裡,編輯 Wikipedia條目並將其關鍵字更改為w(或您喜歡的其他關鍵字)。現在,從地址欄在 Wikipedia搜索「Arch Linux」,只需輸入「w arch linux」 即可。
臨時文件系統[編輯 | 編輯原始碼]
臨時文件系統中的緩存[編輯 | 編輯原始碼]
限制 Chromium 將其緩存寫入物理磁碟,可以通過 --disk-cache-dir
定義一個替代位置 :
$ chromium --disk-cache-dir="$XDG_RUNTIME_DIR/chromium-cache"
緩存應是臨時的,在重啟或硬鎖定後不會保存。另一種選擇是在 /etc/fstab
中設置空間:
/etc/fstab
tmpfs /home/username/.cache tmpfs noatime,nodev,nosuid,size=400M 0 0
或者,創建符號連結 /tmp
。在運行命令之前,請確保刪除 Chromium 的緩存文件夾:
$ ln -s /tmp /home/username/.cache/chromium
臨時文件系統中的配置文件[編輯 | 編輯原始碼]
將瀏覽器配置文件移動到臨時文件系統,包括 /tmp
,或者 /dev/shm
,可以改進應用程式響應,因為整個配置文件都存儲在內存中。
使用主動配置文件管理工具(如 profile-sync-daemon包)以獲得最大的可靠性和易用性。它可以通過符號連結或綁定掛載的形式,同步瀏覽器配置文件目錄
到內存中。參考 Profile-sync-daemon。
啟動新的瀏覽器實例[編輯 | 編輯原始碼]
當您啟動瀏覽器時,它首先檢查使用相同數據目錄的另一個實例是否已經在運行。如果有,則新窗口與舊實例關聯。如果要啟動瀏覽器的獨立實例,則必須使用 --user-data-dir
參數指定單獨的目錄:
$ chromium --user-data-dir=/path/to/some/directory
~/.config/chromium/
。使用 torrent 客戶端直接打開 *.torrent 文件和磁力連結[編輯 | 編輯原始碼]
默認情況下,Chromium 會直接下載 *.torrent
文件,您需要單擊屏幕左下角的通知,使用默認的 torrent 客戶端打開文件。這可以通過以下方法避免:
- 下載一個
*.torrent
文件。 - 右鍵單擊屏幕左下角顯示的通知。
- 勾選"始終打開此類型的文件" 選擇框。
請參閱 xdg-open更改默認關聯。
觸摸滾動觸控螢幕設備[編輯 | 編輯原始碼]
您可能需要指定要使用的觸摸設備。 xinput list
找到您的觸控螢幕設備,然後使用參數 --touch-devices=x
啟動 Chromium,其中「x」是您設備的 ID。
減少內存使用[編輯 | 編輯原始碼]
默認情況下,Chromium 對訪問過的每個網站實例都使用單獨的作業系統進程 [7] 但是,您可以在啟動 Chromium 時指定命令行開關來修改此行為。
例如,要為所有網站的實例共享一個進程,請執行以下操作:
$ chromium --process-per-site
要使用單個進程模式:
$ chromium --single-process
此外,您可以使用擴展(例如 Tab Suspender和OneTab)暫停或存儲非活動選項卡。
用戶代理[編輯 | 編輯原始碼]
可以在 Chromium 的基本實例開始時通過 --user-agent="[string]"
參數來任意修改 User Agent
DOM Distiller[編輯 | 編輯原始碼]
Chromium 具有與 Firefox 類似的閱讀器模式。在本例中,它被稱為 DOM Distiller,它是一個開源項目。它默認是禁用的,但可以使用chrome://flags/#enable-reader-mode
標誌啟用,您也可以將其持久化。DOM Distiller 不僅通過提煉頁面內容來提供更好的閱讀體驗,它還簡化了列印頁面。即使已從列印對話框中刪除了後一個複選框選項,您仍然可以列印提取的頁面,這基本上具有相同的效果。
啟用該標誌後,當 Chromium 認為您正在訪問的網站可以提煉時,您會在地址欄中找您一個新的「進入閱讀器模式」菜單項和相應的圖標。
強制使用特定 GPU[編輯 | 編輯原始碼]
在多 GPU 系統中,Chromium 會自動檢測應該使用哪個 GPU 進行渲染(核顯或獨顯)。這在 99% 的時間有效,除非一種情形:如果選擇了不可用的 GPU(例如,啟用了 VFIO GPU 直通的系統上的獨立顯卡),他將不可用 。chrome://gpu
會報無法初始化 GPU 進程。在驅動程序信息下方的同一頁面上,將顯示多個 GPU(GPU0, GPU1, ...)。無法以用戶友好的方式在它們之間切換,但您可以讀取那裡存在的設備/供應商 ID,並用以下參數配置Chromium 來使用特定 GPU:
$ chromium --gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x1912
其中 0x8086
和 0x1912
替換為您要使用的 GPU 的 ID(如 chrome://gpu
頁面上所示)。
從 Firefox 導入書籤[編輯 | 編輯原始碼]
為了簡化過渡,您可以將書籤從 Firefox導入到 Chromium 中。
將 Chromium 導航到 chrome://settings/importData
。
如果您的計算機上已經安裝了 Firefox,您可以直接從 Firefox 導入書籤以及許多其他內容。
確保已選擇Mozilla Firefox。可選,您可以在此處取消選中一些不需要的項目。點擊導入然後點擊完成就可以了。
如果您從另一台 PC 導入書籤,則必須先從 Firefox 導出書籤。
在火狐中:Ctrl+Shift+o
>導入和備份 > 導出書籤到 HTML文件。
程序幾乎相同。您需要前往 chrome://settings/importData
。但這一次,在下拉菜單中,選擇 HTML 書籤文件並單擊選擇文件按鈕上傳所需的書籤文件。
啟用系統通知[編輯 | 編輯原始碼]
進入 chrome://flags#enable-system-notifications
並選擇啟用。
啟用滑鼠中鍵自動滾動[編輯 | 編輯原始碼]
自動滾動仍然是一個實驗性功能[9]。如果 Chromium 或基於 Chromium 的瀏覽器不是開發版本,並且正在 Linux 環境中運行,則默認情況下會禁用它。[10]
要啟用此功能,請使用 --enable-features=MiddleClickAutoscroll
標誌啟動瀏覽器。如果您想使選項持久化,參考 #使flags持久化。
- 雖然設置
--enable-blink-features
與--enable-features
的工作方式相同 ,但使用前者瀏覽器可能會顯示警告(穩定性和安全性將受到影響),說明這是一個不受支持的標記。 - 作為替代方案,您可以從 Chrome Web Store 添加具有類似行為的擴展(如 WHEELY)。
U2F 身份驗證[編輯 | 編輯原始碼]
安裝 libfido2包 庫。這提供了啟用以用戶身份對U2F 密鑰訪問所需的 udev 規則。默認情況下,U2F 密鑰只能由 root 訪問,如果沒有這些規則,Chromium 將報錯。
主題[編輯 | 編輯原始碼]
您可以讓 Chromium 使用您當前的 GTK 主題來做瀏覽器菜單和控制項。在chrome://settings/appearance
使用GTK。
深色模式[編輯 | 編輯原始碼]
從 Chromium 114 開始,XDG桌面門戶用於自動確定用戶的首選外觀(issue),從而將暗模式啟用與用戶的 GTK 主題分離。這個偏好將應用於CSS中的首選配色方案
,JavaScript
,設置
和開發者工具
。
更改首選外觀的方法取決於您的 XDG 桌面門戶後端。例如,許多桌面環境在其外觀設置中都有一個開關。或者例如當用xdg-desktop-portal-gtk包時,用以下命令將 Preferred Mode 設置為prefer-light
,prefer-dark
或default
:
$ dconf write /org/gnome/desktop/interface/color-scheme \'prefer-dark\'
您可以用dbus包 包中的dbus-send
命令查詢當前首選外觀(文檔):
$ dbus-send --session --print-reply=literal --dest=org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop org.freedesktop.portal.Settings.Read string:org.freedesktop.appearance string:color-scheme | tr -s ' ' | cut -d ' ' -f 5
- 0:無偏好
- 1:偏好深色外觀
- 2:偏好淺色外觀
Chromium 114之前版本[編輯 | 編輯原始碼]
要啟用深色模式並啟用深色主題(通常用於隱身模式)將以下標誌 追加到持久化配置:
~/.config/chromium-flags.conf
--force-dark-mode --enable-features=WebUIDarkMode
啟用側面板[編輯 | 編輯原始碼]
可以通過chrome://flags
啟用側面板。您可以啟用或禁用側面板,並更改選項,例如側面板邊框和側面板拖放。
配置文件維護[編輯 | 編輯原始碼]
Chromium 使用 SQLite 資料庫來管理歷史記錄和收藏。隨著時間的推移,Sqlite 資料庫變得碎片化,到處都是空白空間。但是,由於沒有管理進程來檢查和優化資料庫,因此這些因素最終會導致性能下降。從這些資料庫中對未使用的空間進行碎片整理,可以改進啟動和其他一些與書籤和歷史記錄相關的任務。
profile-cleaner包 和 browser-vacuumAUR 就是做這個的。
安全[編輯 | 編輯原始碼]
禁用 JIT[編輯 | 編輯原始碼]
以降低性能為代價,您可以禁用 JavaScript 到機器碼的即時編譯。它負責JS 引擎中大約一半的安全漏洞。使用標誌--js-flags=--jitless
.
WebRTC[編輯 | 編輯原始碼]
WebRTC是一個通信協議,依賴於JavaScript,可能會從VPN背後洩露一個人的真實IP位址和硬體哈希值。雖然某些軟體可能會阻止洩漏腳本運行,但為了安全起見,直接阻止此協議也可能是一個好辦法。截至 2016 年 10 月,無法在桌面版 Chromium 上禁用 WebRTC,有一些擴展可用于禁用本地 IP 地址洩漏,其中一個就是這個擴展。
可以通過 https://browserleaks.com/webrtc 測試 WebRTC。
SSL 證書[編輯 | 編輯原始碼]
Chromium 沒有 SSL 證書管理器。它依賴於 NSS 共享資料庫~/.pki/nssdb
。為了將 SSL 證書添加到資料庫,用戶必須使用 shell。
為自簽名證書添加 CAcert 證書[編輯 | 編輯原始碼]
獲取CAcert並創建一個nssdb
(如果尚不存在)。為此,請先安裝 nss包軟體包,然後完成以下步驟:
$ mkdir -p $HOME/.pki/nssdb $ cd $HOME/.pki/nssdb $ certutil -N -d sql:.
$ curl -k -o "cacert-root.crt" "http://www.cacert.org/certs/root.crt" $ curl -k -o "cacert-class3.crt" "http://www.cacert.org/certs/class3.crt" $ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org" -i cacert-root.crt $ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org Class 3" -i cacert-class3.crt
現在,用戶可以手動導入自簽名證書。
示例 1:使用shell腳本將證書與TomatoUSB隔離[編輯 | 編輯原始碼]
下面是一個簡單的腳本,它將提取證書並將其添加到用戶的nssdb
:
#!/bin/sh # # usage: import-cert.sh remote.host.name [port] # REMHOST=$1 REMPORT=${2:-443} exec 6>&1 exec > $REMHOST echo | openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n "$REMHOST" -i $REMHOST exec 1>&6 6>&-
用法在注釋行中公布。
引用:
- https://web.archive.org/web/20180718193807/https://blog.avirtualhome.com/adding-ssl-certificates-to-google-chrome-linux-ubuntu
- https://chromium.googlesource.com/chromium/src/+/master/docs/linux/cert_management.md
示例 2:使用Firefox將證書與TomatoUSB隔離[編輯 | 編輯原始碼]
firefox包瀏覽器可用於將證書保存到文件中,以便手動導入到資料庫中。
使用 Firefox:
- 瀏覽到目標 URL。
- 在看到「此連接不受信任」警告屏幕時,點擊:我了解風險> 添加異常
- 點擊:視圖>詳情 > 導出,將證書保存到臨時位置(本例中是
/tmp/easy.pem
)。
現在導入證書以在 Chromium 中使用:
$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "easy" -i /tmp/easy.pem
引用:
Canvas 指紋識別[編輯 | 編輯原始碼]
Canvas 指紋識別是一種技術,它允許網站通過在渲染到 HTML5 Canvas 時檢測差異來識別用戶。此信息可以通過--disable-reading-from-canvas
標誌設置為無法訪問。
要確認此操作有效,請運行此測試,並確保在完整結果中將 「hash of canvas fingerprint」 報告為待定。
- 某些擴展需要從 canvas 中讀取,通過設置
--disable-reading-from-canvas
來破壞。 - 如果沒有canvas 讀取,YouTube 播放器或 Google 地圖無法正常工作。Qutebrowser issue 5345BBS#255958BBS#276425
隱私擴展[編輯 | 編輯原始碼]
參見瀏覽器擴展#隱私。
請勿跟蹤[編輯 | 編輯原始碼]
要啟用請勿跟蹤,訪問設置,滾動到高級
選項,並在 隱私和安全
下勾選發送包含您瀏覽流量的"請勿跟蹤" 請求
。
強制用某一個密碼存儲[編輯 | 編輯原始碼]
Chromium 使用一個密碼庫存儲來存儲您的密碼,並使用 Chromium安全存儲密鑰加密 Cookie 值。[11]
默認情況下,Chromium 會自動發現要使用那個密碼庫,這可能會導致您在切換到其他桌面環境或窗口管理器時顯然丟失密碼和 cookie。
您可以強制 Chromium 使用特定的密碼庫,方法是使用標誌--password-store
(值為下列之一)啟動它
[12]:
gnome-libsecret
,通過libsecret使用 GNOME/Keyring。kwallet5
,使用KDE Wallet 5kwallet6
,使用 KDE Wallet 6basic
,將密碼和 Cookie 的加密密鑰以純文本形式保存在文件Login Data
中。detect
,默認的自動發現行為。
例如,要強制 Chromium 在另一個桌面或 WM 中使用 Gnome Keyring,使用--password-store=gnome-libsecret
標誌,參考 #flags持久化使其持久化。
使用其他桌面環境的密碼庫時,您可能還希望自動解鎖它。參考 GNOME/Keyring#Using the keyring 和 KDE Wallet#Unlock KDE Wallet automatically on login.
啟用混合的後量子密鑰交換[編輯 | 編輯原始碼]
Chromium 從 155 版開始支持 TLS 1.3 的混合後量子密鑰交換X25519Kyber768。[13]。默認情況下,此功能處于禁用狀態,但可以使用標誌chrome://flags/#enable-tls13-kyber
啟用。
疑難解答[編輯 | 編輯原始碼]
字體[編輯 | 編輯原始碼]
標籤字體過大[編輯 | 編輯原始碼]
Chromium 將按照GTK#配置描述進行GTK設置。配置後,Chromium 將使用gtk-font-name
設置選項卡(這可能與窗口字體大小不匹配)。 要覆蓋這些設置,請使用--force-device-scale-factor=1.0
。
自 Chrome Refresh 2023 成為默認字體以來,使用 Cantarell 字體的 GNOME 用戶可能會注意到選項卡標題中的一些字符(如小寫 g)被截斷了 參考issue on chromium.org.
在這個問題修復之前,一個解決方法是配置另外一種字體代替Cantarell,例如:
~/.config/fontconfig/conf.d/10-chromium-font.conf
<match target="pattern"> <test name="prgname" compare="eq"> <string>chromium</string> </test> <test qual="any" name="family"> <string>Cantarell</string> </test> <edit name="family" mode="assign" binding="strong"> <string>Ubuntu</string> </edit> </match>
僅當進程名稱匹配chromium
時,此配置才適用,您可以用為 Google Chrome用chrome
。
WebGL[編輯 | 編輯原始碼]
您的顯卡可能已被 Chromium 列入黑名單。參考#強制使用 GPU 加速。
如果您將 Chromium 與Bumblebee一起使用,WebGL 可能會因 GPU 沙箱而崩潰。在這種情況下,您可以使用optirun chromium --disable-gpu-sandbox
禁用 GPU 沙箱。
有關WebGL支持的調試信息,請訪問chrome://gpu/
。
Chromium 可能會在您的用戶個人資料中保存有關 GPU 的錯誤數據(例如:如果您在使用Optimus的Nvidia卡
和 Intel卡
之間使用切換時,即使您沒使用 Nvidia卡
或 primusrun/optirun
,它也會在chrome://gpu
顯示 Nvidia 卡)。使用其他用戶目錄運行,例如: chromium --user-data-dir=$(mktemp -d)
可能會解決這個問題。對於持久性解決方案,您可以通過刪除~/.config/chromium/Local\ State
重置 GPU 信息。
不正確的 HiDPI 渲染[編輯 | 編輯原始碼]
Chromium 將自動縮放以適應 HiDPI 顯示,但是,這可能會導致渲染的 GUI 不正確。
此標誌--force-device-scale-factor=1
可用於覆蓋自動縮放因子。
當 #原生Wayland上運行啟用時,Chromium 將根據配置的縮放來自動縮放每個顯示器。
每次使用 GNOME Keyring 啟動時都會提示密碼[編輯 | 編輯原始碼]
除密碼外,所有內容都能同步[編輯 | 編輯原始碼]
如果僅密碼不能同步 (您可以在chrome://sync-internals/
檢查一下)刪除配置文件中的登錄數據:
$ rm ~/.config/chromium/Default/Login\ Data*
在桌面環境之間切換時丟失 Cookie 和密碼[編輯 | 編輯原始碼]
如果啟動 Chromium時,在終端中看到該消息Failed to decrypt token for service AccountId-*
,它可能會嘗試使用錯誤的密碼存儲後端。當您在桌面環境之間切換時,可能會發生這種情況。
參考#強制用某一個密碼存儲。
啟用Google同步後掛起啟動[編輯 | 編輯原始碼]
嘗試使用--password-store=basic
或其他合適的密碼存儲啟動 Chrome。
參考#強制用某一個密碼存儲。
Chromium 每次啟動時都要求設置為默認瀏覽器[編輯 | 編輯原始碼]
如果您使用的是 KDE,並且曾經將 Firefox 設置為默認瀏覽(通過點擊 Firefox 中的按鈕),您可能會發現 Chromium 每次啟動時都要求將其設置為默認瀏覽器,即使您點擊" 設為默認值" 按鈕。
Chromium會通過運行xdg-settings check default-web-browser chromium.desktop
來檢查此狀態。如果輸出為「no」,則它不會將自己視為默認瀏覽器。該腳本xdg-settings
會檢查以下 MIME 關聯,並期望所有關聯都是chromium.desktop
:
x-scheme-handler/http x-scheme-handler/https text/html
想要修復它,在系統設置 > 應用 >默認應用 >網絡瀏覽器中選擇 Chromium. Then,設置text/html
的MIME關聯:
$ xdg-mime default chromium.desktop text/html
最後,更新MIME資料庫:
$ update-mime-database ~/.local/share/mime
登錄 Google 時出現「此瀏覽器或應用程式可能不安全」錯誤[編輯 | 編輯原始碼]
截至 2020.04.20 年,如果用標誌--remote-debugging-port=9222
來運行 chromium 進行 Web 開發,則無法登錄您的 Google 帳戶。暫時禁用此標誌就可以重新登錄。
儘管使用刷新率更高的顯示器,但 Chromium 渲染速度為 60 FPS[編輯 | 編輯原始碼]
這裡是關於一般問題的上游錯誤報告,其中可能包含一些額外的解決方法,這裡是一個關於混合刷新率的姊妹問題。
混合刷新率[編輯 | 編輯原始碼]
當使用具有混合刷新率(例如 60Hz 和 144Hz)的顯示器時,Chromium 可能會針對較低的 Hz 顯示器進行渲染。 此問題有合適的解決方法,添加下面的標誌到持久化配置:
~/.config/chromium-flags.conf
--use-gl=egl --ignore-gpu-blocklist --enable-gpu-rasterization
假設您的合成器也以144 FPS刷新,這配置應該可使Chromium在144Hz顯示器上使用時以144 FPS運行。 請記住,由於FS#67035,它可能會有點不穩定,但它比卡在 60 FPS 要好得多。
在 Wayland 後端運行[編輯 | 編輯原始碼]
似乎有特定的Wayland合成器的問題觸發了這個問題。無論設置如何,Plasma 5 似乎都只在 60Hz 上渲染,但 Plasma 6(rc1,在撰寫本文時)使 Chromium 在高刷新率下完美運行。
解決方法可能是在所有其他方法都失敗時切換到 XWayland 後端
Chromium 滾動速度慢[編輯 | 編輯原始碼]
在基於chromium 和 electron 的應用程式中,在日常使用中滑鼠滾動可能太慢了。以下是一些解決方案。
給Libinput#調節滾輪滾動速度注入 libinput_event_pointer_get_axis_value
函數會提供改變縮放因子的接口。這不是應用程式級別的注入,因此需要一個額外的腳本來調整特定的應用程式的縮放因子。請注意,當比例因子足夠大時,在 chromium 的小高度開發人員工具上滾動可能會太快。
IMWheel通過多次重複 X 滾輪按鈕事件來增加滾動距離。但是,chromium 將真實滾動和重複滾動假定為兩個事件。它們之間有一個很小但明顯的延遲,因此滑鼠滾輪滾動一次會導致兩次頁面跳轉。此外,觸摸板滾動需要格外小心。
Linux Scroll Speed Fix和 SmoothScroll是兩個支持滾動距離修改的 Chromium 擴展。在網頁中滾輪滾動時,將找到當前焦點節點最近的可滾動父節點,然後,即使已經到底部,也將對其調用一個具有給定像素距離的滾動方法。因此,一旦您滾動到文本編輯器或任何可滾動元素中,除了移動滑鼠之外,您永遠無法從其中滾動出來。
視頻可以加載但無法播放[編輯 | 編輯原始碼]
這可能是 PulseAudio 問題。請參閱建議的修複方法PulseAudio/Troubleshooting#Browsers (firefox) load videos but do no play.
由於資料庫損壞,密碼未保存[編輯 | 編輯原始碼]
存儲的密碼資料庫可能會損壞並需要重建。這樣做會破壞其中的所有數據/丟失存儲的密碼。
從終端啟動 chromium 並查找類似:
[472531:472565:1207/055404.688559:ERROR:login_database.cc(1048)] Password decryption failed,encryption_result is 2
退出 chromium,然後刪除這三個資料庫文件。~/.config/chromium/Default/Login Data*
再次啟動 chromium 應該會重新創建它們。
光標在 KDE Wayland 上不正確[編輯 | 編輯原始碼]
Wayland 下的 Chromium 透明[編輯 | 編輯原始碼]
因為一個bug,Chromium 124 必須明確地以--ozone-platform=wayland
命令行標誌啟動。
Wayland 硬體加速緩衝區句柄為空錯誤[編輯 | 編輯原始碼]
因為一個 bug,從終端啟動時,您可能會在日誌中看到以下內容,尤其是在 Wayland 上啟用硬體加速的情況下:
[333310:333425:0919/121130.103852:ERROR:gpu_channel.cc(502)] Buffer Handle is null. [333341:18:0919/121130.104000:ERROR:shared_image_interface_proxy.cc(134)] Buffer handle is null. Not creating a mailbox from it. [333310:333425:0919/121130.137149:ERROR:gbm_pixmap_wayland.cc(82)] Cannot create bo with format= YUV_420_BIPLANAR and usage=SCANOUT_CPU_READ_WRITE
目前的解決方法是添加此標誌:
~/.config/chromium-flags.conf
--disable-gpu-memory-buffer-video-frames
參考[編輯 | 編輯原始碼]
- Chromium主頁
- Google Chrome版本筆記
- Chrome web store
- Chromium和Google Chrome的不同
- Chromium命令行開關的列表
- Profile-sync-daemon - 將 Chromium 配置文件保存在 tmpfs 中和同步到硬碟的一個系統服務
- Tmpfs -
/etc/fstab
中的臨時文件系統 - 關於tmpfs的內核官方文檔中的