Chromium
Chromium は、Blink レンダリングエンジンをベースとした、オープンソースなグラフィカルウェブブラウザです。プロプライエタリな Google Chrome ブラウザの基礎となっています。
Chromium と Google Chrome との違いについては このページ を見てください。さらに:
- 同期は Chromium 89 以上 (2021-03-02) で利用できません。[1]
他の Chromium ベースのブラウザは アプリケーション一覧/インターネット#Blink ベース を見てください。
目次
- 1 インストール
- 2 設定
- 3 ヒントとテクニック
- 3.1 ブラウズのエクスペリエンス
- 3.1.1 chrome:// URL
- 3.1.2 Chromium タスクマネージャ
- 3.1.3 Chromium が Preferences ファイルを上書き/オーバーライドしてしまう
- 3.1.4 検索エンジン
- 3.1.5 Tmpfs
- 3.1.6 新しいブラウザインスタンスを起動
- 3.1.7 torrent クライアントで *.torrent ファイルやマグネットリンクを直接開く
- 3.1.8 タッチスクリーンデバイスでタッチスクロール
- 3.1.9 メモリの使用量を減らす
- 3.1.10 ユーザーエージェント
- 3.1.11 DOM Distiller
- 3.1.12 特定の GPU の使用を強制する
- 3.1.13 Firefox からブックマークをインポート
- 3.1.14 ネイティブ通知の有効化
- 3.1.15 マウスの中ボタンでの自動スクロールを有効化する
- 3.1.16 U2F 認証
- 3.1.17 テーマ
- 3.1.18 ダークモード
- 3.1.19 サイドパネルを有効化する
- 3.2 プロファイルのメンテナンス
- 3.3 セキュリティ
- 3.1 ブラウズのエクスペリエンス
- 4 トラブルシューティング
- 4.1 フォント
- 4.2 WebGL
- 4.3 HiDPI の描画がおかしい
- 4.4 GNOME Keyring を使用していると起動するたびにパスワードを要求される
- 4.5 パスワードだけが同期されない
- 4.6 デスクトップ環境を切り替えると cookie とパスワードが消える
- 4.7 Google Sync を有効化すると起動時に固まる
- 4.8 デフォルトのブラウザとして設定するかを毎回尋ねてくる
- 4.9 "このブラウザまたはアプリは安全でない可能性があります" Google へのログインエラー
- 4.10 60 FPS より高いリフレッシュレートのディスプレイを使用しているのに Chromium は 60 FPS で描画される
- 4.11 Chromium でスクロール速度が遅い
- 4.12 動画がロードされるが再生されない
- 4.13 データベースの破損によりパスワードが保存されない
- 4.14 KDE Wayland でカーソルが正しく描画されない
- 4.15 Wayland で Chromium のウィンドウが透明になる
- 5 参照
インストール
Chromium をインストールできるパッケージがいくつか存在します:
- chromium — 安定版
- chromium-devAUR — 開発版
- chromium-snapshot-binAUR — nightly ビルド
Google Chrome のパッケージは:
- google-chromeAUR — 安定版
- google-chrome-betaAUR — ベータ版
- google-chrome-devAUR — 開発版
設定
デフォルトアプリケーション
Chromium をデフォルトのブラウザに設定したり、ダウンロードしたファイルを開くときに Chromium がどのアプリケーションを起動するかを変更したりするには、デフォルトアプリケーション を見てください。
証明書
Chromium は証明書の管理に Network Security Services を使っています。chrome://settings/certificates
で証明書を管理できます。
フラグを永続化する
フラグは、$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 アクセラレーションがデフォルトで有効化されています。あなたのシステム構成がブラックリストと合致する場合、以下のフラグを永続的な設定に追加する必要があります:
~/.config/chromium-flags.conf
--ignore-gpu-blocklist --enable-zero-copy
ハードウェアビデオアクセラレーション
vainfo
(ハードウェアビデオアクセラレーション#VA-API の確認 を参照) の出力を見て VA-API のサポートがあることを確認した場合は、ひとまず以下のフラグだけで試してみてください:
~/.config/chromium-flags.conf
--enable-features=VaapiVideoDecodeLinuxGL
それ以外の場合は、以下を読んでください。
Chromium で VA-API サポートを有効にするには:
- 使用中のビデオカード用の適切な VA-API ドライバをインストールしてください。そして、VA-API が有効化されて正常に動作していることを確認してください。ハードウェアビデオアクセラレーションを見てください。プロプライエタリな NVIDIA サポートは、libva-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]。
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
を押すか、コンテキスト (右クリック) メニューの 検証 ボタンを押して DevTools を開いてください- Media inspection タブを追加してください: ハンバーガーメニュー(︙) > More tools > Media
- 新しく開いた Media タブで、Video Decoder の Hardware decoder の状態を見てください。
十分に大きな動画でテストしてください。バージョン 86 から、デスクトップ版の Chromium は 720p よりも大きい動画でしかアクセラレーションを使用しません。
VP8/VP9 ハードウェアデコードが使用できない Youtube 動画を視聴しているときに CPU 使用率を減らすには、h264ify や enhanced-h264ify、Not 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
ネイティブ Wayland サポート
バージョン 97 以降、Chromium でのネイティブ Wayland サポートは、次のフラグを使用して有効にできます [6]:
--ozone-platform-hint=auto
これがうまくいかない場合 (例えば Weston バージョン 106 以下の場合)、次を使ってください:
--ozone-platform=wayland
永続的な設定については #フラグを永続化する を参照してください。このフラグはブラウザのフラグメニューからも設定できます。
この設定により、wayland セッション内では wayland Ozone バックエンドが選択されます。なので、X11 と Wayland を頻繁に切り替える場合でも、デスクトップエントリは一つだけで大丈夫です。
追加で、インプットメソッドの問題が発生している場合は、新しい GTK を強制すると良いかもしれません:
--gtk-version=4
Fcitx5 を使用していて上記のフラグを使うと正しく動作しない場合は、--gtk-version=4
の代わりに --enable-wayland-ime
フラグを使用してみてください。[7]
ナビゲーションのタッチパッドジェスチャ
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.org や wikipedia.org などのウェブサイトは検索を実行してから Settings > Search を選択して Manage search engines.. ボタンをクリックすることで簡単に検索できるように設定できます。エントリを "Edit" してキーワードを w などに変更してください (ショートカットは自由に決めて下さい)。これでアドレスバーに "w arch linux" と入力するだけで "Arch Linux" で検索できるようになります。
Tmpfs
tmpfs にキャッシュ
物理ディスクに対する 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
torrent クライアントで *.torrent ファイルやマグネットリンクを直接開く
デフォルトでは Chromium は *.torrent
ファイルを直接ダウンロードするため、ファイルを torrent クライアントで開くには画面左下の通知をクリックする必要があります。以下の方法で毎回クリックする手間を省けます:
*.torrent
ファイルをダウンロード。- 画面左下に表示される通知を右クリック。
- "Always Open Files of This Type" チェックボックスにチェックを入れる。
デフォルトの関連付けの変更については xdg-open を見てください。
タッチスクリーンデバイスでタッチスクロール
使用するタッチデバイスを指定する必要があります。タッチスクリーンデバイスを xinput list
で確認して、--touch-devices=x
パラメータを付けて Chromium を起動してください ("x" はデバイスの id に置き換えてください)。
メモリの使用量を減らす
デフォルトでは、Chromium は開いているウェブサイトの数だけ OS プロセスを作成します [8]。Chromium の起動時にコマンドラインスイッチを指定することで挙動を変更することが可能です。
例えば、全てのウェブサイトでひとつのプロセスを共有するには:
$ chromium --process-per-site
シングルプロセスモデルを使うには:
$ chromium --single-process
さらに Tab Suspender や OneTab などの拡張を使うことでアクティブでないタブを停止・保存することができます。
ユーザーエージェント
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
0x8086
と 0x1912
は使用したい GPU の ID に置き換えてください (chrome://gpu
ページで確認できます)。
Firefox からブックマークをインポート
Firefox から Chromium にブックマークをインポートすることができます。
Chromium で chrome://settings/importData
を開いてください。
コンピュータに Firefox がインストールされている場合、直接 Firefox からブックマークなどをインポートできます。
Mozilla Firefox を選択してください。不要なアイテムのチェックは外してかまいません。Import をクリックしてから Done をクリックすればインポートは完了です。
他の 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 を選択してください。
マウスの中ボタンでの自動スクロールを有効化する
自動スクロールはまだ試験的な機能です [10]。開発版ビルドでない Chromium または Chromium ベースのブラウザで、Linux 環境で動作させている場合は、デフォルトで無効化されています。[11]
この機能を有効化するには、ブラウザを --enable-features=MiddleClickAutoscroll
フラグで起動してください。このオプションを永続化させたい場合は、#フラグを永続化する を見てください。
U2F 認証
libfido2 ライブラリをインストールしてください。このパッケージは、(通常) ユーザとして U2F キーにアクセスできるようにするために必要な udev ルールを提供します。 U2F キーはデフォルトでは root としてしかアクセスできないので、これらのルールが無いと Chromium はエラーを吐きます。
テーマ
Chromium に現在の GTK テーマをブラウザメニューやコントロールで使用させることができます。chrome://settings/appearance
で Use GTK を押してください。
ダークモード
Chromium 114 から、ユーザの優先外観を自動的に決定するために XDG デスクトップ ポータル が使用されるようになりました (issue)。よって、ダークモードの有効化とユーザの GTK テーマが切り離されました。この設定は、CSS、JavaScript、設定、そして Dev-Tools の prefers-color-scheme に適用されます。
優先外観を変更する方法は、XDG Desktop Portal バックエンドに依存します。例えば、多くのデスクトップ環境はそれぞれの外観設定インターフェイスにモードを切り替えるスイッチを提供しています。または、例えば xdg-desktop-portal-gtk 場合は、以下のコマンドを使って優先モードを 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 より前
ダークモードを有効化し、ダークテーマ (通常、incognito モードで使用されます) を有効化するには、以下のフラグを永続的な設定に追加してください:
~/.config/chromium-flags.conf
--force-dark-mode --enable-features=WebUIDarkMode
サイドパネルを有効化する
サイドパネルは chrome://flags
から有効化できます。Side panel を有効化/無効化することができ、Side panel border や Side panel drag and drop といったオプションを変更できます。
プロファイルのメンテナンス
Chromium は Sqlite データベースを使用して履歴やお気に入りを管理しています。Sqlite データベースは使っているうちに断片化していきます。しかしながら、データベースをチェックしたり最適化するプロセスが存在しないため、断片化によって段々とパフォーマンスに影響が出て来ます。デフラグを行ってデータベースから未使用領域を削除することで、起動時間やブックマークや履歴に関連する作業を素早く実行することができます。
profile-cleaner と browser-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 でテストできます。
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>&-
使用方法はコメント化されている行を見てください。
参照:
- 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 を開く。
- "This Connection is Untrusted" 警告画面が表示されたら I understand the Risks > Add Exception... をクリック。
- View > Details > Export をクリックしてどこか一時的な場所に証明書を保存 (以下の例では
/tmp/easy.pem
を使用)。
Chromium で使用する証明書をインポート:
$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "easy" -i /tmp/easy.pem
参照:
Canvas Fingerprinting
Canvas Fingerprinting は HTML5 の canvas のレンダリング結果の差異を使ってユーザーを識別する技術です。--disable-reading-from-canvas
フラグを使うことで Canvas Fingerprinting を使えないようにすることができます。
フラグが機能しているかどうか確認するには こちらのテスト を実行して "hash of canvas fingerprint" の結果を確認してください。
プライバシー拡張
ブラウザ拡張機能#プライバシー を参照してください。
Do Not Track
Do Not Track を有効化するには、chrome://settings
を開き、Advanced まで下へスクロールして、Privacy and security の Send a "Do Not Track" request with your browsing traffic にチェックを入れてください。
特定のパスワードストアを強制する
Chromium はパスワードストアを使ってパスワードと (cookie の値を暗号化するのに使われる) Chromium Safe Storage キーを保存します [12]。
デフォルトでは Chromium は使用するパスワードストアを自動的に認識しますが、デスクトップ環境やウィンドウマネージャを変えたときにパスワードと cookie が失われてしまう可能性があります。
--password-store
フラグで以下のどれかの値を指定して Chromium を起動することで特定のパスワードストアを強制的に使うようにすることができます [13]:
gnome-libsecret
- libsecret 経由で Gnome Keyring を使用kwallet5
- KDE Wallet 5 を使用。kwallet6
- KDE Wallet 6 を使用。basic
-Login Data
ファイルにプレーンテキストとしてパスワードと cookie の暗号鍵を保存detect
- デフォルトの自動認識
例えば、Gnome Keyring を使うようにするには --password-store=gnome-libsecret
を付けてください。永続化する方法は #フラグを永続化する を参照。
他のデスクトップ環境のパスワードストアを使う場合、自動的にアンロックされるように設定すると良いでしょう。GNOME/Keyring#キーリングを使用する や KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック を参照。
ハイブリッドポスト量子鍵交換を有効化する
バージョン 155 から Chromium は、TLS 1.3 向けのハイブリッドポスト量子鍵交換 X25519Kyber768 をサポートしています [14]。この機能はデフォルトで無効化されていますが、chrome://flags/#enable-tls13-kyber
フラグで有効化できます。
トラブルシューティング
フォント
タブのフォントサイズが大きすぎる
GTK#設定 で言及されているように、Chromium は GTK の設定を使用します。Chromium はタブに gtk-font-name
の設定を使用します (これにより、ウインドウのフォントサイズと合わなくなる場合があります)。この設定を上書きするには、--force-device-scale-factor=1.0
を使用してください。
Chrome Refresh 2023 がデフォルトになってから、Cantarell フォントを使用している GNOME で動かすとタブタイトル内の一部の文字 (小文字の g など) が切れてしまうことがあります。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 アクセラレーションを強制する を見てください。
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#パスワードが保存されない を見てください。
パスワードだけが同期されない
同期がパスワードに対してだけ機能しない場合 (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 アカウントにログインできません。このフラグを一時的に無効にしてログインすると、再び有効にできます。
60 FPS より高いリフレッシュレートのディスプレイを使用しているのに Chromium は 60 FPS で描画される
一般的な問題に関する上流のバグレポートはここにあり、その他の回避策が見つかるかもしれません。また、混合リフレッシュレートに関する問題はここで報告されています。
混合リフレッシュレート
混合リフレッシュレート (例えば 60 Hz と 144 Hz) のあるディスプレイを使用している場合、Chromium は最も低いリフレッシュレートのディスプレイに合わせて描画するかもしれません。
この問題に対する適切な回避策があります。以下のフラグを永続的な設定に追加してください:
~/.config/chromium-flags.conf
--use-gl=egl --ignore-gpu-blocklist --enable-gpu-rasterization
これにより、コンポジタが 144 FPS でリフレッシュする場合、144Hz ディスプレイ上で使用すると Chromium が 144 FPS で実行されます。これにより、少しカクつくかもしれないことを留意してください FS#67035。しかし、60 FPS で止まるよりはマシです。
Wayland バックエンドで実行する
この問題を引き起こす Wayland コンポジタ固有の問題があるようです。
特に、Plasma 5 は環境によらず 60Hz で描画されるようですが、Plasma 6 (この記事の時点では rc1) では Chromium が高いリフレッシュレートでも問題なく動作します。
その他の解決策がうまく行かなかった場合は、XWayland バックエンドに切り替えてみてください。
Chromium でスクロール速度が遅い
Chromium や Electron ベースのアプリケーションでマウスホイールのスクロールが遅すぎることがあります。以下にいくつか解決法を挙げます。
Libinput#マウスホイールのスクロール速度の調整 では libinput の libinput_event_pointer_get_axis_value
関数をインジェクトし、スケール係数を変更するインターフェイスを提供します。これはアプリケーションレベルのインジェクションではないので、アプリケーション固有のスケール係数調整用の追加スクリプトが必要です。Chromium の縦幅の小さい開発者ツールでは、スケール係数を十分大きくするとスクロールが速くなりすぎるかもしれないことに注意してください。
imwheel は X のホイールボタンのイベントを複数回リプレイすることでスクロールの距離を増やします。しかし、chromium は実際のスクロールとリプレイされたスクロールを2つのイベントとして認識します。これらの間には小さいですが感知できる遅延が存在します。なので、一回のマウスホイールスクロールで2回のページジャンプが発生します。タッチパッドのスクロールでも注意が必要です。
Linux Scroll Speed Fix と SmoothScroll はスクロール距離の変更をサポートする chromium 拡張機能です。ウェブページ内でスクロールすると、現在フォーカスされているノードの最も近いスクロールできる祖先を見つけて、たとえその祖先が一番下までスクロールされていたとしても、その祖先に対してスクロールメソッドがピクセル距離を使って呼ばれます。なので、テキストエディタやスクロール可能な要素にスクロールすると、マウスを動かす以外の方法でその要素からスクロールして出ることはできません。また、拡張機能ベースの手段は Chromium 外では利用できません。
動画がロードされるが再生されない
これは PulseAudio の問題である場合があります。PulseAudio/トラブルシューティング#ブラウザ (firefox) が動画をロードするが、再生しない で提案されている修正方法を確認してください。
データベースの破損によりパスワードが保存されない
パスワードデータベースは破損することがあり、その場合、再ビルドする必要があります。再ビルドすると、データベース内の全データが破壊され、保存されているパスワードは失われます。
ターミナルから Chromium を起動すると、以下のように出力されます:
[472531:472565:1207/055404.688559:ERROR:login_database.cc(1048)] Password decryption failed, encryption_result is 2
Chromium を終了し、3つのデータベースファイル (~/.config/chromium/Default/Login Data*
) を削除してください。
Chromium を再度起動すると、データベースファイルが再作成されるはずです。
KDE Wayland でカーソルが正しく描画されない
KDE#Plasma のカーソルがときどきおかしくなる を参照してください。
Wayland で Chromium のウィンドウが透明になる
あるバグにより、chromium 124 はコマンドラインフラグ --ozone-platform=wayland
を明示的に指定して起動する必要があります。
参照
- Chromium ホームページ
- Google Chrome リリースノート
- Chrome ウェブストア
- Chromium と Google Chrome の違い
- Chromium コマンドラインスイッチのリスト
- Profile-sync-daemon - Chromium プロファイルを tmpfs に保存し、ディスクと同期する systemd サービス
- Tmpfs -
/etc/fstab
での tmpfs ファイルシステム - 公式の tmpfs カーネルドキュメント