Chromium
Chromium は Google によるオープンソースのグラフィカルウェブブラウザです。Blink レンダリングエンジンを使用しています。
Chromium と Google Chrome との違いについては このページ を見てください。さらに:
- 同期は Chromium 89 以上 (2021-03-02) で利用できません。[1]
他の Chromium ベースのブラウザは アプリケーション一覧/インターネット#Blink ベース を見てください。
目次
- 1 インストール
- 2 設定
- 3 ヒントとテクニック
- 4 トラブルシューティング
- 4.1 フォント
- 4.2 WebGL
- 4.3 HiDPI の描画がおかしい
- 4.4 GNOME Keyring を使用していると起動するたびにパスワードを要求される
- 4.5 ネットワーク内の Chromecast が検出されない
- 4.6 パスワードだけが同期されない
- 4.7 デスクトップ環境を切り替えると cookie とパスワードが消える
- 4.8 Google Sync を有効化すると起動時に固まる
- 4.9 デフォルトのブラウザとして設定するかを毎回尋ねてくる
- 4.10 "このブラウザまたはアプリは安全でない可能性があります" Google へのログインエラー
- 4.11 144Hz + 60Hz モニタを使うと Chromium が 60fps でとまる
- 4.12 Chromium でスクロール速度が遅い
- 5 参照
インストール
Chromium をインストールできるパッケージがいくつか存在します:
- chromium — 安定版;
- chromium-devAUR — 開発版;
- chromium-snapshot-binAUR — nightly ビルド.
Google Chrome のパッケージは:
- google-chromeAUR — 安定版;
- google-chrome-betaAUR — ベータ版;
- google-chrome-devAUR — 開発版.
設定
デフォルトアプリケーション
Chromium をデフォルトのブラウザに設定したり、ダウンロードしたファイルを開くときに Chromium がどのアプリケーションを起動するかを変更したりするには、デフォルトアプリケーション を見てください。
証明書
Chromium は証明書の管理に NSS を使っています。chrome://settings/certificates
で証明書を管理できます。
フラグを永続化する
フラグは chromium-flags.conf
ファイル内に記述して $HOME/.config/
に置くことができます。($XDG_CONFIG_HOME
環境変数を設定した場合は、その環境変数が示すディレクトリの中にファイルを置いてください。)
特別な構文は使用されず、フラグはターミナルに書き込まれるのと同じように定義されます。
- 引数は空白で分割され、シェルのクォート規則が適用されますが、それ以上の解析は実行されません。
- ファイル中のどこかが不適切に引用されている場合、致命的なエラーが発生します。
- フラグは読みやすくするために別の行にすることができますが、これは必須ではありません。
- ハッシュ記号(#)で始まる行は読み飛ばされます。(これは chromium ランチャースクリプトでのみサポートされており、google-chromeAUR パッケージで
chrome-flags.conf
を使用している場合は動作しません)
以下は、フラグ --start-maximized --incognito
を定義している chromium-flags.conf
ファイルの例です。
~/.config/chromium-flags.conf
# This line will be ignored. --start-maximized --incognito
GPU アクセラレーションを強制する
デフォルトでは、Linux 版の Chromium は如何なる GPU アクセラレーションも使用しません。GPU アクセラレーションを強制するには、以下のフラグを永続的な設定に追加してください。
~/.config/chromium-flags.conf
--ignore-gpu-blocklist --enable-gpu-rasterization --enable-zero-copy
さらに、GPU ワークアラウンドが使用されないようにするために --disable-gpu-driver-bug-workarounds
フラグも渡す必要があるかもしれません。フラグが設定されて利用可能になれば、chrome://gpu
でフラグが "Hardware accelerated" と表示されるはずです。
mesa 20.1.1 以降、--enable-native-gpu-memory-buffers
は壊れています。[3]
ハードウェアビデオアクセラレーション
Chromium で VA-API サポートを有効にするには:
- 使用中のビデオカード用の適切な VA-API ドライバをインストールしてください。そして、VA-API が有効化されて正常に動作していることを確認してください。ハードウェアビデオアクセラレーションを見てください。プロプライエタリな NVIDIA サポートは、libva-vdpau-driver-chromiumAUR か libva-vdpau-driver-vp9-gitAUR をインストールする必要があります。
--enable-features=VaapiVideoDecoder
オプションを設定してください。ANGLE GL レンダラーと libva-intel-driver を使用している場合は、これで十分です。- ANGLE を使用している場合、Chromium は古い i965 ドライバを強制的に使用し、intel-media-driver が使用されていると失敗します。回避策として、VA-API を手動で設定してください。詳細については [5] を見てください。
- Xorg でシステムの GL レンダラーを使用するには、
--use-gl=egl
か--use-gl=desktop
のどちらか一方を使用してください。XWayland では、--use-gl=egl
フラグを使用してください(現在、一部のシステムでカクつきが発生しますFS#67035)。 - VA-APU がまだ動作しない場合は、
--disable-features=UseChromeOSDirectVideoDecoder
フラグを試してください。[6]
ヒントとテクニック
使用中の 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 拡張機能を使用してください。
一部のシステム(特に XWayland)では、GPU アクセラレーションを強制する必要があるかもしれません。このセクションでの目的に対しては --ignore-gpu-blocklist
のみで十分です。
Skia レンダラーは、現在ビデオデコードアクセラレーションと互換性がないので、無効化する必要があるかもしれません: --disable-features=UseSkiaRenderer
PDF ビューアプラグイン
Chromium と Google Chrome には Chromium PDF Viewer プラグインがバンドルされています。このプラグインを使用したくない場合は、chrome://settings/content/pdfDocuments
内の Open PDFs using a different application を確認してください。
Flash Player プラグイン
Flash Player のサポートは Chromium 88 で削除されました。[7]
XWayland での動作
NVIDIA 社のプロプライエタリドライバを使用している場合、XWayland 上で Chromium を実行すると、GPU プロセスが時々クラッシュすることがあります。GPU プロセスがクラッシュしないようにするには、以下のフラグを追加してください。
--use-angle=vulkan --use-cmd-decoder=passthrough
ネイティブ Wayland サポート
バージョン 97 以降、Chromium でのネイティブ Wayland サポートは、次のフラグを使用して有効にできます [8]:
--ozone-platform-hint=auto
永続的な設定については、#フラグを永続化するを参照してください。このフラグはブラウザのフラグメニューからも設定できます。
この設定により、wayland セッション内では wayland Ozone バックエンドが選択されます。なので、X11 と Wayland を頻繁に切り替える場合でも、デスクトップエントリは一つだけで大丈夫です。
ヒントとテクニック
次の記事を参照してください: Chromium 設定
トラブルシューティング
フォント
タブのフォントサイズが大きすぎる
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 のサンドボックスを無効にできます。
上記の方法で問題が解決しない場合、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 が間違ったパスワード保存バックエンドを使おうとしたのかもしれません。これはデスクトップ環境を切り替えたときに起こりえます。
Chromium 設定#使用するパスワードストアの設定 を見てください。
Google Sync を有効化すると起動時に固まる
--password-store=basic
フラグを使うか、他の適切なパスワードストアを使って Chrome を起動してみてください。
Chromium 設定#使用するパスワードストアの設定 を見てください。
デフォルトのブラウザとして設定するかを毎回尋ねてくる
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 Fix と SmoothScroll はスクロール距離の変更をサポートする chromium 拡張機能です。ウェブページ内でスクロールすると、現在フォーカスされているノードの最も近いスクロールできる祖先を見つけて、たとえその祖先が一番下までスクロールされていたとしても、その祖先に対してスクロールメソッドがピクセル距離を使って呼ばれます。なので、テキストエディタやスクロール可能な要素にスクロールすると、マウスを動かす以外の方法でその要素からスクロールして出ることはできません。また、拡張機能ベースの手段は Chromium 外では利用できません。