Chromium - Arch Linux 中文维基

跳至內容

# Chromium

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 Chromium，最近一次同步於 2025-07-28，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

相關文章

- 瀏覽器插件
- Firefox
- Vivaldi

Chromium 是一款來自 "The Chromium Project" 的開源圖形網絡瀏覽器，基於 Blink 渲染引擎。它也是商業軟體 Google Chrome 瀏覽器得以組成的基礎。

在這裡您可以看到 Google Chrome 與 Chromium 瀏覽器的區別。此外，還有一點重要的不同：

- 2021年3月2日發布的 Chromium 89 及其以後版本不再支持 Google 帳戶同步功能[1]。

注意：目前，可以通過 使用 Chrome 的 OAuth2 憑證或者申請一個屬於自己的憑證來恢復同步功能，但是請注意，這不一定是一個長期的解決方案。

長期來講，最好考慮使用 xbrowsersync 來同步書籤數據。

在應用程式列表/網際網路#基於 Blink 您可以看到基於 Chromium 的其它瀏覽器。

## 安裝

要安裝 Chromium，有以下幾種安裝包可選:

- chromium包——穩定版本

- chromium-snapshot-binAUR——Nightly 每日構建版本

Google Chrome 軟體包:

- google-chromeAUR——穩定版本
- google-chrome-betaAUR——Beta 測試版本
- google-chrome-devAUR——Dev 開發版本
- google-chrome-canaryAUR——Canary 發行版本

注意：根據 Chromium 隱私頁面，"在 Chromium 瀏覽器的代碼中與 Google 有關的特性，編譯之後的二進制程序是遵循 Google Privacy Policy 的。"如果不希望 Chromium 瀏覽器代碼中存在與 Google 集成的部分，請參閱應用程式列表/網際網路#注重隱私的 chromium 分支。

## 配置

本文或本章節可能需要合併到#提示和技巧。

附註： 本節大部分內容應當劃分到#提示和技巧，另有一些應當劃分到#故障排除。（在 Talk:Chromium 中討論）

### 設置為默認瀏覽器

要將 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 就已經工作。

- Chromium 116 放棄了對使用 libva-intel-driver包 的英特爾集成顯卡的支持。要使 h264 加速正常工作，需要安裝 libva-intel-driver-irqlAUR。

- 在 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

注意：

- 此外，以下標誌可以在使用 EGL/Wayland 時提高性能：

`--enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL`.

- 131 版本前的 Chromium 應當使用 `--enable-features=VaapiVideoDecodeLinuxGL`。

否則，請繼續閱讀。

欲在 Chromium 中啟用加速編碼：

- 啟用 `AcceleratedVideoEncoder` 特性。如：`--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder`。詳情參見[3] 和[4]。

欲啟用VA-API支持：

- 為您的顯卡安裝正確的 VA-API 驅動，並且確認 VA-API 已經被啟用並且正常工作，詳見硬體視頻加速。NVIDIA 專有驅動，必須安裝 libva-nvidia-driver包，並且除以上特性外還要啟用`VaapiOnNvidiaGPUs` 特性。

- 啟用 `VaapiVideoDecoder` 特性，對於 ANGLE GL 渲染器和 libva-intel-driver包 生效。

- 當使用 ANGLE 時，Chromium 會強制使用舊的 i965 驅動，不支持 intel-media-driver包。一個解決方案是手動配置 VA-API。詳見[5]。
- 如果想在 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`[6]。

#### Vulkan

使用 Vulkan 時，以下標誌是必需的，並且在 Chromium 126 和 Mesa 24.1 上可能也足夠了：

    ~/.config/chromium-flags.conf

    --enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE

無需上面提到的任何其他標誌。

#### 小提示

本文或本節內容已經過時。

原因：

- Chromium在Wayland+RADV上為AV1使用VaapiVideoDecoder。

- Chromium在Wayland+RADV上使用VaapiVideoDecoder處理任何大小的視頻

(在Talk:Chromium討論)

去檢查使用VA-API驅動程序支持的編解碼器是否可播放視頻( vainfo 會告訴您支持哪些編解碼器，但 Chromium 僅支持 VP9 和 h264):

- 通過按下`Ctrl+Shift+I`或在右擊菜單中選擇檢查按鈕打開開發工具
- 添加媒體選項卡：漢堡菜單>更多工具>媒體
- 在新打開的媒體選項卡中，查看視頻解碼器的硬體解碼器狀態

請測試足夠大的視頻。從版本86開始，桌面版 Chromium 將僅加速大於720p的視頻。

VP8/VP9 硬體解碼不可用時，想要減少觀看YouTube時的CPU占用，請使用 h264ify，enhanced-h264ify或者Not yet, AV1[7] 擴展。

在某些系統上 （尤其是在 Xwayland 上），您可能需要#強制使用 GPU 加速。僅需`--ignore-gpu-blocklist` 一個參數就達到目的。

這篇文章的某些內容需要擴充。

原因：給一些bug報告提供一個連結。 (在 Talk:Chromium 中討論)

您可能需要禁用 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

注意： 這並不能防止所有與 XWayland 相關GPU進程的崩潰。

### 原生 Wayland 上運行

從97版本開始，可以使用以下標誌啟用 chromium 中的原生 Wayland 支持[8]:

    --ozone-platform-hint=auto

如果這不起作用，例如在Weston下的使用106版本，請使用：

    --ozone-platform=wayland

請參閱#使 flag 持久化進行配置。也可通過瀏覽器 flag 頁面（chrome://flags）設置。

這將在 wayland 會話中選擇自動 wayland Ozone 後端，因此，即使您在 X11 和 Wayland 之間頻繁切換，也可以使用單個`.desktop`文件。

注意：在瀏覽器標誌菜單中更改「ozone-platform-hint」時，瀏覽器會提供一個「重新啟動」按鈕。不要使用這個，因為瀏覽器仍將在更改標誌之前的平台中重新啟動。您需要關閉瀏覽器，然後將其打開。

此外，如果您在使用輸入法時遇到問題，您可能還想強制使用更新的 GTK：

    --gtk-version=4

如果`AltGr`/`Compose` 鍵停止工作，添加此解決方法可能會修復它：

    --disable-gtk-ime

若你使用fcitx5，在採用上述標誌後仍無法正常使用。嘗試使用`--enable-wayland-ime`標識代替`--gtk-version=4`。[9]

    --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

#### 強制設備比例因子

本文或本章節可能需要合併到HiDPI#Chromium / Google Chrome。

附註： 同一主題.（在 Talk:Chromium 中討論）

在原生Wayland上強制使用比例因子，用以下flag [10]:

    --force-device-scale-factor=1.33 --gtk-version=4 --enable-features=WaylandPerSurfaceScale,WaylandUiScale

## 提示和技巧

除非明確說明，否則以下提示和技巧應該適用於 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」 即可。

注意：在 URL 欄中輸入內容時，會自動使用 Google 搜索。也可以用關鍵字前綴觸發

#### 臨時文件系統

##### 臨時文件系統中的緩存

注意：Chromium 將其緩存與其瀏覽器配置文件目錄分開存儲。

限制 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。

注意：如果設備被指定為從屬指針，則使用此選項可能不起作用，請改用主指針的 ID。

#### 減少內存使用

默認情況下，Chromium 對訪問過的每個網站實例都使用單獨的作業系統進程 [11] 但是，您可以在啟動 Chromium 時指定命令行開關來修改此行為。

例如，要為所有網站的實例共享一個進程，請執行以下操作：

    $ chromium --process-per-site

要使用單個進程模式：

    $ chromium --single-process

警告：不建議使用單進程模式，因為不安全，並且還可能包含其他模式中不存在的錯誤[12]

此外，您可以使用擴展（例如 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。可選，您可以在此處取消選中一些不需要的項目。點擊導入然後點擊完成就可以了。

注意：如果您尚未在 Chromium 中創建任何書籤，書籤將顯示在您的書籤欄中。如果您已經有書籤，書籤將位於「從 Firefox 導入」新文件夾中。

如果您從另一台 PC 導入書籤，則必須先從 Firefox 導出書籤。

在火狐中：`Ctrl+Shift+o` >導入和備份 > 導出書籤到 HTML文件。

程序幾乎相同。您需要前往 `chrome://settings/importData`。但這一次，在下拉菜單中，選擇 HTML 書籤文件並單擊選擇文件按鈕上傳所需的書籤文件。

#### 啟用系統通知

進入 `chrome://flags#enable-system-notifications` 並選擇啟用。

#### 啟用滑鼠中鍵自動滾動

自動滾動仍然是一個實驗性功能[13]。如果 Chromium 或基於 Chromium 的瀏覽器不是開發版本，並且正在 Linux 環境中運行，則默認情況下會禁用它。[14]

要啟用此功能，請使用 `--enable-features=MiddleClickAutoscroll`標誌啟動瀏覽器。如果您想使選項持久化，參考 #使flags持久化。

注意：

- 雖然設置`--enable-blink-features`與`--enable-features`的工作方式相同 ，但使用前者瀏覽器可能會顯示警告（穩定性和安全性將受到影響），說明這是一個不受支持的標記。
- 作為替代方案，您可以從 Chrome Web Store 添加具有類似行為的擴展（如 WHEELY）。

提示：另外一個選擇時安裝 chromium-extension-autoscrollAUR，但不建議這樣做，因為它是一個過時的包，不是官方的。請謹慎使用。

#### 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。

警告：即使可以防止IP洩漏，Chromium 仍然會發送您的唯一哈希值，並且無法阻止這種情況。在 https://www.browserleaks.com/webrtc#webrtc-disable 查看更多

#### 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：

1. 瀏覽到目標 URL。
2. 在看到「此連接不受信任」警告屏幕時，點擊：我了解風險> 添加異常
3. 點擊：視圖>詳情 > 導出，將證書保存到臨時位置(本例中是`/tmp/easy.pem`）。

現在導入證書以在 Chromium 中使用：

    $ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "easy" -i /tmp/easy.pem

注意：調整名稱以匹配證書。 在上面的示例中，「easy」 是證書的名稱。

引用：

- https://sahissam.blogspot.com/2012/06/new-ssl-certificates-for-tomatousb-and.html

#### Canvas 指紋識別

Canvas 指紋識別是一種技術，它允許網站通過在渲染到 HTML5 Canvas 時檢測差異來識別用戶。此信息可以通過`--disable-reading-from-canvas`標誌設置為無法訪問。

要確認此操作有效，請運行此測試，並確保在完整結果中將 「hash of canvas fingerprint」 報告為待定。

注意：

- 某些擴展需要從 canvas 中讀取，通過設置`--disable-reading-from-canvas`來破壞。
- 如果沒有canvas 讀取，YouTube 播放器或 Google 地圖無法正常工作。（參考Qutebrowser issue 5345，BBS#255958，BBS#276425）。

#### 隱私擴展

參見瀏覽器擴展#隱私。

提示：安裝太多擴展可能會占用工具欄中的大量空間。那些無論怎麼都不會交互的擴展可以通過右鍵單擊擴展程序並選擇取消固定來隱藏 。

#### 請勿跟蹤

要啟用請勿跟蹤，訪問設置，滾動到`高級`選項，並在 `隱私和安全` 下勾選`發送包含您瀏覽流量的"請勿跟蹤" 請求`。

#### 強制用某一個密碼存儲

Chromium 使用一個密碼庫存儲來存儲您的密碼，並使用 Chromium安全存儲密鑰加密 Cookie 值。[15]

默認情況下，Chromium 會自動發現要使用那個密碼庫，這可能會導致您在切換到其他桌面環境或窗口管理器時顯然丟失密碼和 cookie。

您可以強制 Chromium 使用特定的密碼庫，方法是使用標誌`--password-store`（值為下列之一）啟動它 [16]:

- `gnome-libsecret`，通過libsecret使用 GNOME/Keyring。
- `kwallet5`，使用KDE Wallet 5
- `kwallet6`，使用 KDE Wallet 6
- `basic`，將密碼和 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。[17]。默認情況下，此功能處於禁用狀態，但可以使用標誌`chrome://flags/#enable-tls13-kyber` 啟用。

### 將任何網站作為本機應用程式打開

使用漸進式Web應用程式的方式，你可以在無選項卡窗口中打開任何網站：

    $ chromium --app=https://archlinux.org/

您需要使用正確的完整url。

## 疑難解答

### 字體

注意：由於沙箱的原因，Chromium 沒有完全集成 fontconfig/GTK/Pango/X/etc。了解更多信息，參考Linux Technical FAQ。

#### 標籤字體過大

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 啟動時都會提示密碼

參考GNOME/Keyring#密碼沒被記住。

### 除密碼外，所有內容都能同步

如果僅密碼不能同步 (您可以在`chrome://sync-internals/`檢查一下)刪除配置文件中的登錄數據：

    $ rm ~/.config/chromium/Default/Login\ Data*

詳情參考Google Chrome幫助論壇

### 在桌面環境之間切換時丟失 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，然後設置 `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

這裡是關於一般問題的上游錯誤報告，其中可能包含一些額外的解決方法，這裡是一個關於混合刷新率的姊妹問題。

#### 混合刷新率

提示：Wayland 後端可能不存在此問題，需要測試。

當使用具有混合刷新率（例如 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 擴展。在網頁中滾輪滾動時，將找到當前焦點節點最近的可滾動父節點，然後，即使已經到底部，也將對其調用一個具有給定像素距離的滾動方法。因此，一旦您滾動到文本編輯器或任何可滾動元素中，除了移動滑鼠之外，您永遠無法從其中滾動出來。

### 視頻可以加載但無法播放

本文或本節內容已經過時。

原因： 連結中的部分陳述在Chromium中不受影響 (在Talk: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 上不正確

參考 KDE#Plasma 光標有時顯示不正確.

### 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 不支持。ALSA#直接尋址硬體.

如頁面所示，設置輸出設備`pcm.dmixer` 和`pcm.dsnooper`，並使用`-alsa-output-device=pcm.dmixer -alsa-input-device=pcm.dsnooper`標誌。

### 啟動時出現Gnome「全局快捷方式」菜單

由於定義全局快捷方式的擴展（例如 obsidian web clipper），啟動時出現了gnome 「全局快捷方式」。這在 https://github.com/brave/brave-browser/issues/44886 中有所描述，並且可以通過添加此標誌來修復：

    ~/.config/chromium-flags.conf

    --disable-features=GlobalShortcutsPortal

### Compose鍵不起作用：無法使用鍵盤鍵入特殊字符

由於一個bug,「Compose」鍵在最新版本的 chromium 中不起作用。當用戶嘗試在瀏覽器的任意位置輸入特殊字符（例如「@」或元音變音）時，這一點變得很明顯。使用Compose鍵的特殊組合鍵（例如，「ALT GR」）適用於除 chromium 之外的所有應用程式。此問題很可能與 gtk 有關，無法通過在 Wayland 和 X11 之間切換來解決。這在 https://issues.chromium.org/issues/327158031 有所描述，並且可以通過添加此標誌來修復：

    ~/.config/chromium-flags.conf

    --disable-gtk-ime

## 參考

- Chromium主頁
- Google Chrome版本筆記
- Chrome web store
- Chromium和Google Chrome的不同
- Chromium命令行開關的列表
- Profile-sync-daemon - 將 Chromium 配置文件保存在 tmpfs 中和同步到硬碟的一個系統服務
- Tmpfs - `/etc/fstab`中的臨時文件系統
- tmpfs 官方內核文檔

分類：​

- 網頁瀏覽器
- Google
- 使用「模板:過時」標記的頁面或章節

隱藏分類：​

- 使用「模板:合併」標記的頁面或章節

Chromium
新增話題