Chromium

提供: ArchWiki
2022年4月27日 (水) 13:05時点におけるAshMyzk (トーク | 投稿記録)による版 (→‎ネットワーク内の Chromecast が検出されない: Chromecasts -> Chromecast)
ナビゲーションに移動 検索に移動

関連記事

Chromium は Google によるオープンソースのグラフィカルウェブブラウザです。Blink レンダリングエンジンを使用しています。

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 は証明書の管理に NSS を使っています。chrome://settings/certificates で証明書を管理できます。

フラグを永続化する

ノート: chromium-flags.conf ファイルとそれに付随するカスタムランチャースクリプトは Arch Linux の chromium パッケージに固有のものです。google-chromeAURgoogle-chrome-devAUR では、代わりに chrome-flags.confchrome-dev-flags.conf を使ってください。

フラグは 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 アクセラレーションを強制する

警告: レンダリングブラックリストを無効化すると、ホスト環境のクラッシュを含む不安定な挙動を引き起こすかもしれません。詳細については chrome://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" と表示されるはずです。

この記事またはセクションは情報が古くなっています。
理由: 2021年5月にバグフィックスが mesa にマージされました。[2] (Discuss)

mesa 20.1.1 以降、--enable-native-gpu-memory-buffers は壊れています。[3]

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

ノート:
  • この機能に対する Chromium や Arch Linux での公式サポートはありません [4]。しかし、公式リポジトリの 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 を使用している場合、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 使用率を減らすには、h264ifyenhanced-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
ノート: これはすべての XWayland 関連のクラッシュを防止するわけではありません。

ネイティブ Wayland サポート

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

--ozone-platform-hint=auto

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

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

ヒントとテクニック

次の記事を参照してください: Chromium 設定

トラブルシューティング

フォント

ノート: 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 のサンドボックスを無効にできます。

上記の方法で問題が解決しない場合、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 設定#使用するパスワードストアの設定 を見てください。

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

If you are using KDE and have once set Firefox as the default browser (by clicking the button inside Firefox), you might find Chromium asks to be set as the default browser every time it starts, even if you click the "set as default" button.

Chromium checks for this status by running xdg-settings check default-web-browser chromium.desktop. If the output is "no", it is not considering itself to be the default browser. The script xdg-settings checks for the following MIME associations and expect all of them to be chromium.desktop:

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

To fix it, go to System settings > Applications > Default applications > Web browser and choose Chromium. Then, set the MIME association for text/html:

$ xdg-mime default chromium.desktop text/html

Finally, update the MIME database:

$ 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 のスクロール速度が遅い

Mouse whell scrolling in chromium and electron based applications may be too slow for daily usage. Here are some solutions.

Libinput#Mouse wheel scrolling speed scaling injects libinput_event_pointer_get_axis_value function in libinput and provides an interface to change scale factor. This is not a application level injection, so an addition script for application specific scale factor tuning is needed. Note that scroll on chromium's small height developer tools may be too fast when scale factor is big enough.

IMWheel increases scroll distance by replaying X wheel button event for multiple times. However, chromium assumes the real scroll and the replayed ones as two events. There is a small but noticeable delay between them, so one mouse wheel scroll leads to twice page jumps. Also, touchpad scroll needs additional care.

Linux Scroll Speed Fix and SmoothScroll are two chromium extensions with suppport for scroll distance modification. Upon wheel scroll in a web page, the closest scrollable ancestor of current focused node will be found, then a scroll method with given pixel distance will be called on it, even if it has been scrolled to bottom. So once you scroll into a text editor or any scrollable element, you can never scroll out of it, except moving mouse. Also, extension based methods can not be used outside chromium.

参照