「Chromium」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
70行目: 70行目:
 
=== GPU アクセラレーションを強制する ===
 
=== GPU アクセラレーションを強制する ===
   
  +
少なくとも Chromium 110 から、ほとんどのシステムに対して GPU アクセラレーションがデフォルトで有効化されています。あなたのシステム構成が[https://chromium.googlesource.com/chromium/src/gpu/+/master/config/software_rendering_list.json ブラックリスト]と合致する場合、以下のフラグを[[#フラグを永続化する|永続的な設定]]に[[追加]]する必要があります:
{{Warning|レンダリングブラックリストを無効化すると、ホスト環境のクラッシュなどの不安定な挙動を引き起こすかもしれません。詳細については {{ic|chrome://gpu}} にあるバグレポートを見てください。}}
 
   
  +
{{Warning|レンダリングブラックリストを無効化すると、ホストのクラッシュなどの不安定な挙動を引き起こすかもしれません。詳細については {{ic|chrome://gpu}} にあるバグレポートを見てください。}}
デフォルトでは、Linux 版の Chromium は如何なる GPU アクセラレーションも使用しません。GPU アクセラレーションを強制するには、以下のフラグを[[#フラグを永続化する|永続的な設定]]に[[追加]]してください:
 
   
 
{{hc|~/.config/chromium-flags.conf|
 
{{hc|~/.config/chromium-flags.conf|
 
--ignore-gpu-blocklist
 
--ignore-gpu-blocklist
--enable-gpu-rasterization
 
 
--enable-zero-copy
 
--enable-zero-copy
 
}}
 
}}
 
さらに、GPU ワークアラウンドが使用されないようにするために {{ic|--disable-gpu-driver-bug-workarounds}} フラグも渡す必要があるかもしれません。フラグが設定されて利用可能になれば、{{ic|chrome://gpu}} でフラグが "Hardware accelerated" と表示されるはずです。
 
 
{{Out of date|2021年5月にバグフィックスが mesa にマージされました。[https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10850]}}
 
 
mesa 20.1.1 以降、{{ic|--enable-native-gpu-memory-buffers}} は壊れています。[https://gitlab.freedesktop.org/mesa/mesa/-/issues/3119#note_533902]
 
   
 
=== ハードウェアビデオアクセラレーション ===
 
=== ハードウェアビデオアクセラレーション ===
577行目: 570行目:
 
* [https://docs.kernel.org/filesystems/tmpfs.html 公式の tmpfs カーネルドキュメント]
 
* [https://docs.kernel.org/filesystems/tmpfs.html 公式の tmpfs カーネルドキュメント]
   
{{TranslationStatus|Chromium|2023-08-19|785590}}
+
{{TranslationStatus|Chromium|2023-10-03|786078}}

2023年10月3日 (火) 14:01時点における版

関連記事

Chromium は、Blink レンダリングエンジンをベースとした、オープンソースなグラフィカルウェブブラウザです。プロプライエタリな Google Chrome ブラウザの基礎となっています。

Chromium と Google Chrome との違いについては このページ を見てください。さらに:

  • 同期は Chromium 89 以上 (2021-03-02) で利用できません。[1]
ノート: 同期は、Chrome の OAuth2 認証情報を使用するか、自分の認証情報を取得することで一時的に利用可能にできますが、免責事項に注意し、この方法を長期的な解決策と考えないでください。 長期的な解決策としては、ブックマークの同期するための xbrowsersync に移行することを検討してください。

他の Chromium ベースのブラウザは アプリケーション一覧/インターネット#Blink ベース を見てください。

目次

インストール

Chromium をインストールできるパッケージがいくつか存在します:

Google Chrome のパッケージは:

ノート: Chromium プライバシーページによると(日本語訳):「Chromium のソースコードをコンパイルすることで利用可能になる Google と通信する機能は、Google プライバシーポリシーに従います。」Google サービスとの統合をすべて避けたい人向けにプライバシー重視の Chromium 派生版があります。

設定

デフォルトアプリケーション

Chromium をデフォルトのブラウザに設定したり、ダウンロードしたファイルを開くときに Chromium がどのアプリケーションを起動するかを変更したりするには、デフォルトアプリケーション を見てください。

証明書

Chromium は証明書の管理に Network Security Services を使っています。chrome://settings/certificates で証明書を管理できます。

フラグを永続化する

ノート: chromium-flags.conf ファイルとそれに付随するカスタムランチャースクリプトは、Arch Linux の様々な Chromium パッケージに固有のものです。Google Chrome に対しては、代わりに chrome-flags.conf (開発版やベータ版の場合は chrome-チャネル名-flags.conf) を使用してください。

フラグは、$HOME/.config/ 内 ($XDG_CONFIG_HOME 環境変数を設定した場合は、その環境変数が示すディレクトリの中) の chromium-flags.conf ファイルに記述することができます。グローバルに設定したい場合は、/etc/ 内に配置できます。

特別な構文は使用されず、フラグはターミナルに書き込まれるのと同じように定義されます。

  • 引数は空白で分割され、シェルの引用符の規則が適用されますが、それ以上の解析は実行されません。
  • ファイル中のどこかが不適切に引用符によって囲まれている場合、致命的なエラーが発生します。
  • フラグは読みやすくするために個別の行に分けることができますが、これは必須ではありません。
  • ハッシュ記号 (#) で始まる行は読み飛ばされます。(これは Chromium のランチャースクリプトでのみサポートされており、Google Chrome を使用している場合は動作しません。)

以下は、フラグ --start-maximized --incognito を定義している chromium-flags.conf ファイルの例です:

~/.config/chromium-flags.conf
# この行は無視されます。
--start-maximized
--incognito

GPU アクセラレーションを強制する

少なくとも Chromium 110 から、ほとんどのシステムに対して GPU アクセラレーションがデフォルトで有効化されています。あなたのシステム構成がブラックリストと合致する場合、以下のフラグを永続的な設定追加する必要があります:

警告: レンダリングブラックリストを無効化すると、ホストのクラッシュなどの不安定な挙動を引き起こすかもしれません。詳細については chrome://gpu にあるバグレポートを見てください。
~/.config/chromium-flags.conf
--ignore-gpu-blocklist
--enable-zero-copy

ハードウェアビデオアクセラレーション

ノート:
  • この機能に対する Chromium や Arch Linux からの公式サポートはありません [2]。しかし、公式リポジトリの chromium は VA-API サポートありでコンパイルされており、専用のフォーラムスレッドで助けを求めることができます。
  • ネイティブな Wayland バックエンドを使用しているときは、VA-API は chromium パッケージで機能しませんが、chromium-wayland-vaapiAUR では機能します。

Chromium で VA-API サポートを有効にするには:

  • 使用中のビデオカード用の適切な VA-API ドライバをインストールしてください。そして、VA-API が有効化されて正常に動作していることを確認してください。ハードウェアビデオアクセラレーションを見てください。プロプライエタリな NVIDIA サポートは、libva-vdpau-driver-chromiumAURlibva-vdpau-driver-vp9-gitAUR をインストールする必要があります。
  • --enable-features=VaapiVideoDecoder オプションを設定してください。ANGLE GL レンダラーと libva-intel-driver を使用している場合は、これで十分です。
  • ANGLE を使用すると、intel-media-driver が使用されている場合、Chromium は古い i965 ドライバを強制的に使用し失敗します。回避策として、VA-API を手動で設定してください。詳細については [3] を見てください。
  • Xorg か Wayland でシステムの GL レンダラを使用するには、--use-gl=egl を使用してください。Chrome 112 を使用している場合、このオプションはもはや必要ないかもしれず、AMD GPU を使用している場合は GPU アクセラレーションの機能が壊れる場合があります。
  • VA-API がまだ動かない場合は、--enable-features=VaapiIgnoreDriverChecks--disable-features=UseChromeOSDirectVideoDecoder フラグを試してください。
  • VA-API が Xorg と古い GPU 上でまだ動かない場合は、LIBVA_DRI3_DISABLE=1 環境変数を設定してください [4]

ヒントとテクニック

使用中の VA-API ドライバでサポートされているコーデックの動画の視聴がうまく行くかどうか確認するには (vainfo はどのコーデックがサポートされているかを表示しますが、Chromium は VP9 と h264 だけをサポートします):

  • Ctrl+Shift+I を押すか、コンテキスト (右クリック) メニューの 検証 ボタンを押して DevTools を開いてください
  • Media inspection タブを追加してください: ハンバーガーメニュー(︙) > More tools > Media
  • 新しく開いた Media タブで、Video Decoder の Hardware decoder の状態を見てください。

十分に大きな動画でテストしてください。バージョン 86 から、デスクトップ版の Chromium は 720p よりも大きい動画でしかアクセラレーションを使用しません

VP8/VP9 ハードウェアデコードが使用できない Youtube 動画を視聴しているときに CPU 使用率を減らすには、h264ifyenhanced-h264ifyNot yet, AV1[5] 拡張機能を使用してください。

一部のシステム (特に Xwayland) では、#GPU アクセラレーションを強制する 必要があるかもしれません。このセクションでの目的に対しては --ignore-gpu-blocklist のみで十分です。

Skia レンダラーは、現在ビデオデコードアクセラレーションと互換性がないので、無効化する必要があるかもしれません: --disable-features=UseSkiaRenderer

KDE 統合

Plasma との統合は plasma-browser-integrationインストールしてください。詳細は KDE Plasma Browser Integration を見てください。

PDF ビューアプラグイン

Chromium と Google Chrome には Chromium PDF Viewer プラグインがバンドルされています。このプラグインを使用したくない場合は、chrome://settings/content/pdfDocuments 内の Download PDFs を確認してください。

Xwayland での動作

NVIDIA 社のプロプライエタリドライバを使用している場合、Xwayland 上で Chromium を実行すると、GPU プロセスが時々クラッシュすることがあります。GPU プロセスがクラッシュしないようにするには、以下のフラグを追加してください:

--use-angle=vulkan --use-cmd-decoder=passthrough
ノート: これはすべての Xwayland 関連のクラッシュを防止するわけではありません。

ネイティブ Wayland サポート

バージョン 97 以降、Chromium でのネイティブ Wayland サポートは、次のフラグを使用して有効にできます [6]:

--ozone-platform-hint=auto

これがうまくいかない場合 (例えば Weston バージョン 106 以下の場合)、次を使ってください:

--ozone-platform=wayland

永続的な設定については #フラグを永続化する を参照してください。このフラグはブラウザのフラグメニューからも設定できます。

この設定により、wayland セッション内では wayland Ozone バックエンドが選択されます。なので、X11 と Wayland を頻繁に切り替える場合でも、デスクトップエントリは一つだけで大丈夫です。

ノート: ブラウザのフラグメニューで "ozone-platform-hint" を変更すると、ブラウザが再起動ボタンを表示させます。しかし、これは使用しないでください。ブラウザは、フラグが変更される前のプラットフォームで再起動されるからです。ブラウザを閉じて、その後、再び開く必要があります。

追加で、インプットメソッドの問題が発生している場合は、新しい GTK を強制すると良いかもしれません:

--gtk-version=4

ナビゲーションのタッチパッドジェスチャ

2本の指でスワイプすると戻ったり進んだりする機能を有効にするには、以下のフラグを使用してください:

--ozone-platform-hint=auto --enable-features=TouchpadOverscrollHistoryNavigation

ヒントとテクニック

特に注意書きがなければ以下のヒントとテクニックは Chromium と Chrome の両方で使うことができます。

ブラウズのエクスペリエンス

chrome:// URL

多くの調整は Chrome の URL からアクセスすることができます。完全なリストは 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 アカウントの同期を有効にしている場合、~/.config/chromium/Default/Preferences 下の Preferences ファイルに直接編集を加えていても Chromium によって上書きされてしまいます。上書きされないようにするには、--disable-sync-preferences スイッチを付けて Chromium を起動してください:

$ chromium --disable-sync-preferences

デスクトップ環境のログイン時にバックグラウンドで Chromium を起動する場合、デスクトップ環境から使用するコマンドを以下のようにしてください:

$ chromium --disable-sync-preferences --no-startup-window

検索エンジン

wiki.archlinux.orgwikipedia.org などのウェブサイトは検索を実行してから Settings > Search を選択して Manage search engines.. ボタンをクリックすることで簡単に検索できるように設定できます。エントリを "Edit" してキーワードを w などに変更してください (ショートカットは自由に決めて下さい)。これでアドレスバーに "w arch linux" と入力するだけで "Arch Linux" で検索できるようになります。

ノート: URL バーに何か入力すると自動的に Google 検索が使われます。また、ハードコードされたキーワードトリガとして ? プレフィックスが使えます。

Tmpfs

tmpfs にキャッシュ
ノート: Chromium はブラウザのプロファイルディレクトリとキャッシュディレクトリを分離して保存します。

物理ディスクに対する Chromium のキャッシュの書き込みを制限したい場合、--disk-cache-dir フラグでキャッシュの書き込み先を変更することができます:

$ chromium --disk-cache-dir="$XDG_RUNTIME_DIR/chromium-cache"

キャッシュは一時的になり、再起動したりハードロックすると消えます。もしくは、tmpfs 領域を /etc/fstab 内でセットアップすることもできます:

/etc/fstab
tmpfs	/home/username/.cache	tmpfs	noatime,nodev,nosuid,size=400M	0	0

または、/tmp へのシンボリックリンクを作成してください。以下のコマンドを実行する前に、Chromium のキャッシュフォルダは削除しておいてください:

$ ln -s /tmp /home/ユーザ名/.cache/chromium
tmpfs にプロファイル

/tmp/dev/shm などの tmpfs ファイルシステムにプロファイルを保存することで、プロファイル全体が RAM 内に保存されるので、Chromium の応答性が改善されます。

profile-sync-daemon などの、プロファイルを動的に管理するスクリプトを使うことで信頼性と使いやすさを最大限高めることができます。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 ファイルをダウンロード。
  • 画面左下に表示される通知を右クリック。
  • "Always Open Files of This Type" チェックボックスにチェックを入れる。

デフォルトの関連付けの変更については xdg-open を見てください。

タッチスクリーンデバイスでタッチスクロール

使用するタッチデバイスを指定する必要があります。タッチスクリーンデバイスを xinput list で確認して、--touch-devices=x パラメータを付けて Chromium を起動してください ("x" はデバイスの id に置き換えてください)。

ノート: スレーブポインタのデバイスは使えません。マスターポインタの ID を使ってください。

メモリの使用量を減らす

デフォルトでは、Chromium は開いているウェブサイトの数だけ OS プロセスを作成します [7]。Chromium の起動時にコマンドラインスイッチを指定することで挙動を変更することが可能です。

例えば、全てのウェブサイトでひとつのプロセスを共有するには:

$ chromium --process-per-site

シングルプロセスモデルを使うには:

$ chromium --single-process
警告: シングルプロセスモデルは安全でなく他のモデルに存在しないバグが含まれている可能性があるため推奨されていません [8]

さらに Tab SuspenderOneTab などの拡張を使うことでアクティブでないタブを停止・保存することができます。

ユーザーエージェント

Chromium の起動時に --user-agent="[string]" パラメータを指定することでユーザーエージェントは任意に変更することができます。

DOM Distiller

Chromium には Firefox にあるのと似たレンダリングモードが存在します。これは DOM Distiller と呼ばれ、オープンソースプロジェクトです。 デフォルトでは無効化されていますが、chrome://flags/#enable-reader-mode フラグを使用することにより有効化できます。このフラグは永続化させることができます。 DOM Distiller は、ページのコンテンツから不要なものを取り除くことでより良いレンダリングエクスペリエンスを提供するだけでなく、印刷用にページを単純化してくれます。後者のチェックボックスオプションが印刷ダイアログから削除されたものの、不要なものを取り除いたページを印刷することは依然として可能です。これらには、基本的には同じ効果があります。

フラグを有効化すると、ウェブサイトから不要なものを取り除くことができると Chromium が判断したときに、"Enter reader mode" メニューアイテムとアイコンがアドレスバーに出現します。

特定の GPU の使用を強制する

GPU が複数ある環境の場合、Chromium はレンダリングに使用する GPU (ディスクリートや統合 GPU) を自動的に検出します。99% は問題ありませんが、誤った GPU が選択された場合 (VFIO GPU パススルー環境でディスクリートグラフィックが選ばれるなど)、chrome://gpu は GPU プロセスを初期化できないというエラーを吐きます。同じページの Driver Information には複数の GPU が表示されます (GPU0, GPU1, ...)。ユーザーフレンドリな方法で GPU を切り替えることはできませんが、デバイス/ベンダー ID を使って Chromium のフラグで使用する GPU を設定できます:

$ chromium --gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x1912

0x80860x1912 は使用したい GPU の ID に置き換えてください (chrome://gpu ページで確認できます)。

Firefox からブックマークをインポート

Firefox から Chromium にブックマークをインポートすることができます。

Chromium で chrome://settings/importData を開いてください。

コンピュータに Firefox がインストールされている場合、直接 Firefox からブックマークなどをインポートできます。

Mozilla Firefox を選択してください。不要なアイテムのチェックは外してかまいません。Import をクリックしてから Done をクリックすればインポートは完了です。

ノート: Chromium でまだ何もブックマークを作成していない場合、ブックマークバーにブックマークが表示されます。既にブックマークが存在する場合、ブックマークは "Imported From Firefox" というラベルが付いた新しいフォルダに保存されます。

他の PC からブックマークをインポートする場合、先に Firefox からブックマークをエクスポートする必要があります。

Firefox で Ctrl + Shift + O > Import and Backup > Export Bookmarks To HTML を選択してください。

後の作業は同じです。chrome://settings/importData を開いてください。ただし今度は From ドロップダウンメニューで Bookmarks HTML File を選択して Choose File ボタンをクリックしてブックマークファイルをアップロードします。

後の作業は同じです。chrome://settings/importData を開いてください。ただし今度は From ドロップダウンメニューで Bookmarks HTML File を選択して Choose File ボタンをクリックしてブックマークファイルをアップロードします。

ネイティブ通知の有効化

chrome://flags#enable-system-notifications を開いて、Enabled を選択してください。

U2F 認証

libfido2 ライブラリをインストールしてください。このパッケージは、(通常) ユーザとして U2F キーにアクセスできるようにするために必要な udev ルールを提供します。 U2F キーはデフォルトでは root としてしかアクセスできないので、これらのルールが無いと Chromium はエラーを吐きます。

テーマ

Chromium に現在の GTK テーマをブラウザメニューやコントロールで使用させることができます。chrome://settings/appearanceUse GTK を押してください。

ダークモード

Chromium 114 から、ユーザの優先外観を自動的に決定するために XDG デスクトップ ポータル が使用されるようになりました (issue)。よって、ダークモードの有効化とユーザの GTK テーマが切り離されました。この設定は、CSS、JavaScript、設定、そして Dev-Tools の prefers-color-scheme に適用されます。

優先外観を変更する方法は、XDG Desktop Portal バックエンドに依存します。例えば、多くのデスクトップ環境はそれぞれの外観設定インターフェイスにモードを切り替えるスイッチを提供しています。または、例えば xdg-desktop-portal-gtk 場合は、以下のコマンドを使って優先モードを prefer-lightprefer-darkdefault に設定します:

$ dconf write /org/gnome/desktop/interface/color-scheme \'prefer-dark\'

dbusdbus-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 より前

ダークモードを有効化し、ダークテーマ (通常、incognito モードで使用されます) を有効化するには、以下のフラグを永続的な設定追加してください:

~/.config/chromium-flags.conf
--force-dark-mode
--enable-features=WebUIDarkMode

サイドパネルを有効化する

サイドパネルは chrome://flags から有効化できます。Side panel を有効化/無効化することができ、Side panel borderSide panel drag and drop といったオプションを変更できます。

プロファイルのメンテナンス

Chromium は Sqlite データベースを使用して履歴やお気に入りを管理しています。Sqlite データベースは使っているうちに断片化していきます。しかしながら、データベースをチェックしたり最適化するプロセスが存在しないため、断片化によって段々とパフォーマンスに影響が出て来ます。デフラグを行ってデータベースから未使用領域を削除することで、起動時間やブックマークや履歴に関連する作業を素早く実行することができます。

profile-cleanerbrowser-vacuumAUR でメンテナンスができます。

セキュリティ

JIT を無効化

JS エンジンにおけるセキュリティ上の脆弱性のうち約半分は JIT に原因があります。パフォーマンスが劣化しますが、--js-flags=--jitless フラグを使用することで、JavaScript からネイティブなコードへの just-in-time コンパイルを無効化できます。

WebRTC

WebRTC は JavaScript を使用する通信プロトコルですが、VPN を使っている場合でもマシンの IP アドレスやハードウェアのハッシュ値が漏洩する可能性があります。VPN ソフトウェアによってはスクリプトの実行が阻止されることもありますが、プロトコルを直接ブロックしてしまう方が安全です。2016年10月現在、デスクトップ版 Chromium で WebRTC を無効化する方法はありませんが、ローカル IP アドレスの漏洩を阻止する拡張が存在します 。そのひとつがこの拡張機能です。

WebRTC は https://browserleaks.com/webrtc でテストできます。

警告: IP の漏洩は防げても、Chromium はユニークなハッシュを送信しており、それを止める方法はありません。詳しくは https://www.browserleaks.com/webrtc#webrtc-disable を読んでください。

SSL 証明書

Chromium には SSL 証明書マネージャが存在しません。Chromium は NSS の共有データベース ~/.pki/nssdb を使用しています。データベースに SSL 証明書を追加するには、シェルを使う必要があります。

自己署名証明書の CAcert 証明書を追加

CAcerts を取得して 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: シェルスクリプトを使って 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>&-

使用方法はコメント化されている行を見てください。

参照:

例 2: Firefox を使って TomatoUSB から証明書を分離

firefox ブラウザを使って証明書をファイルに保存してデータベースに手動でインポートすることができます。

Firefox を使って:

  1. 取得先の URL を開く。
  2. "This Connection is Untrusted" 警告画面が表示されたら I understand the Risks > Add Exception... をクリック。
  3. View > Details > Export をクリックしてどこか一時的な場所に証明書を保存 (以下の例では /tmp/easy.pem を使用)。

Chromium で使用する証明書をインポート:

$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "easy" -i /tmp/easy.pem
ノート: 名前は証明書にあわせて変更してください。上記の例では "easy" が証明書の名前です。

参照:

Canvas Fingerprinting

Canvas Fingerprinting は HTML5 の canvas のレンダリング結果の差異を使ってユーザーを識別する技術です。--disable-reading-from-canvas フラグを使うことで Canvas Fingerprinting を使えないようにすることができます。

フラグが機能しているかどうか確認するには こちらのテスト を実行して "hash of canvas fingerprint" の結果を確認してください。

ノート:
  • 一部の拡張機能は canvas からの読み込みを必要としており、--disable-reading-from-canvas を設定すると壊れる場合があります。
  • YouTube プレイヤーは canvas からの読み込みができないと正しく動作しません。[9][10]

プライバシー拡張

ブラウザ拡張機能#プライバシー を参照してください。

ヒント: あまりにも多くの拡張機能をインストールしてしまうと、ツールバーのスペースを圧迫してしまうかもしれません。ユーザと対話しない拡張機能 (例: HTTPS Everywhere[リンク切れ 2023-04-22]) は、拡張機能を右クリックして Hide in Chromium menu を選択することで隠すことができます。

Do Not Track

Do Not Track を有効化するには、chrome://settings を開き、Advanced まで下へスクロールして、Privacy and securitySend a "Do Not Track" request with your browsing traffic にチェックを入れてください。

特定のパスワードストアを強制する

Chromium はパスワードストアを使ってパスワードと (cookie の値を暗号化するのに使われる) Chromium Safe Storage キーを保存します [11]

デフォルトでは Chromium は使用するパスワードストアを自動的に認識しますが、デスクトップ環境やウィンドウマネージャを変えたときにパスワードと cookie が失われてしまう可能性があります。

--password-store フラグで以下のどれかの値を指定して Chromium を起動することで特定のパスワードストアを強制的に使うようにすることができます [12]:

  • gnome-libsecret - libsecret 経由で Gnome Keyring を使用
  • kwallet - KDE Wallet を使用
  • basic - Login Data ファイルにプレーンテキストとしてパスワードと cookie の暗号鍵を保存
  • detect - デフォルトの自動認識

例えば、Gnome Keyring を使うようにするには --password-store=gnome-libsecret を付けてください。永続化する方法は #フラグを永続化する を参照。

他のデスクトップ環境のパスワードストアを使う場合、自動的にアンロックされるように設定すると良いでしょう。GNOME/Keyring#キーリングを使用するKDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック を参照。

トラブルシューティング

フォント

ノート: Chromium は独自のサンドボックスを使っているため、fontconfig/GTK/Pango/X などと完全な統合がされていません。詳しくは Linux Technical FAQ を参照してください。

タブのフォントサイズが大きすぎる

GTK#設定 で言及されているように、Chromium は GTK の設定を使用します。Chromium はタブに gtk-font-name の設定を使用します (これにより、ウインドウのフォントサイズと合わなくなる場合があります)。この設定を上書きするには、--force-device-scale-factor=1.0 を使用してください。

WebGL

使用中のグラフィックカードが Chromium のブラックリストに入っている可能性があります。#GPU アクセラレーションを強制する を見てください。

Bumblebee で Chromium を使っている場合、GPU のサンドボックスによって WebGL がクラッシュすることがあります。このようなときは、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#パスワードが保存されない を見てください。

ネットワーク内の Chromecast が検出されない

chrome://flags/#load-media-router-component-extension 内の Media Router Component Extension を有効化する必要があります。

パスワードだけが同期されない

同期がパスワードに対してだけ機能しない場合 (chrome://sync-internals/ で確認できます)、プロファイルのログインデータを削除してください:

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

詳細は Google Chrome Help forum を見てください。

デスクトップ環境を切り替えると cookie とパスワードが消える

Chromium を起動したときにターミナルに Failed to decrypt token for service AccountId-* というメッセージが表示される場合、Chromium が間違ったパスワード保存バックエンドを使おうとしたのかもしれません。これはデスクトップ環境を切り替えたときに起こりえます。

#特定のパスワードストアを強制する を見てください。

Google Sync を有効化すると起動時に固まる

--password-store=basic フラグを使うか、他の適切なパスワードストアを使って Chrome を起動してみてください。

#特定のパスワードストアを強制する を見てください。

デフォルトのブラウザとして設定するかを毎回尋ねてくる

KDE を使用していて、一度 Firefox を (Firefox 内のボタンをクリックして) デフォルトのブラウザとして設定したことがある場合、たとえ "デフォルトに設定" ボタンをクリックしたとしても 、Chromium を起動するたびに毎回 Chromium をデフォルトのブラウザとして設定するかを尋ねられることがあります。

Chromium は xdg-settings check default-web-browser chromium.desktop を実行することで chromium がデフォルトのブラウザであるかを確認します。そのコマンドの出力が "no" である場合、chromium がデフォルトのブラウザでないと認識します。xdg-settings スクリプトは以下の MIME の関連付けを確認し、すべてが chromium.desktop であることを期待します:

x-scheme-handler/http
x-scheme-handler/https
text/html

これを直すには、システム設定 > アプリケーション > デフォルトのアプリケーション > Web browser を開いて、Chormium を指定してください。そして、text/html の MIME の関連付けを設定してください:

$ xdg-mime default chromium.desktop text/html

最後に、MIME のデータベースを更新してください:

$ update-mime-database ~/.local/share/mime

"このブラウザまたはアプリは安全でない可能性があります" Google へのログインエラー

2020年04月20日以降、Web 開発用に --remote-debugging-port=9222 フラグを指定して chromium を実行すると、 Google アカウントにログインできません。このフラグを一時的に無効にしてログインすると、再び有効にできます。

144Hz + 60Hz モニタを使うと Chromium が 60fps でとまる

この問題に対する適切な回避策があります。以下のフラグを永続的な設定追加してください:

~/.config/chromium-flags.conf
--use-gl=egl
--ignore-gpu-blocklist
--enable-gpu-rasterization

これにより、コンポジタが 144fps でリフレッシュする場合、144Hz ディスプレイ上で使用すると Chromium が 144fps で実行されます。これにより、少しカクつくかもしれないことを留意してください FS#67035。しかし、60 fps で止まるよりはマシです。

Chromium でスクロール速度が遅い

Chromium や Electron ベースのアプリケーションでマウスホイールのスクロールが遅すぎることがあります。以下にいくつか解決法を挙げます。

Libinput#マウスホイールのスクロール速度の調整 では libinput の libinput_event_pointer_get_axis_value 関数をインジェクトし、スケール係数を変更するインターフェイスを提供します。これはアプリケーションレベルのインジェクションではないので、アプリケーション固有のスケール係数調整用の追加スクリプトが必要です。Chromium の縦幅の小さい開発者ツールでは、スケール係数を十分大きくするとスクロールが速くなりすぎるかもしれないことに注意してください。

imwheel は X のホイールボタンのイベントを複数回リプレイすることでスクロールの距離を増やします。しかし、chromium は実際のスクロールとリプレイされたスクロールを2つのイベントとして認識します。これらの間には小さいですが感知できる遅延が存在します。なので、一回のマウスホイールスクロールで2回のページジャンプが発生します。タッチパッドのスクロールでも注意が必要です。

Linux Scroll Speed FixSmoothScroll はスクロール距離の変更をサポートする chromium 拡張機能です。ウェブページ内でスクロールすると、現在フォーカスされているノードの最も近いスクロールできる祖先を見つけて、たとえその祖先が一番下までスクロールされていたとしても、その祖先に対してスクロールメソッドがピクセル距離を使って呼ばれます。なので、テキストエディタやスクロール可能な要素にスクロールすると、マウスを動かす以外の方法でその要素からスクロールして出ることはできません。また、拡張機能ベースの手段は Chromium 外では利用できません。

動画がロードされるが再生されない

これは PulseAudio の問題である場合があります。PulseAudio/トラブルシューティング#ブラウザが動画をロードするが、再生しない で提案されている修正方法を確認してください。

参照

翻訳ステータス: このページは en:Chromium の翻訳バージョンです。最後の翻訳日は 2023-10-03 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。