「Chromium」の版間の差分
(TranslationStatus) |
(同期) |
||
114行目: | 114行目: | ||
VP8/VP9 ハードウェアデコードが使用できない Youtube 動画を視聴しているときに CPU 使用率を減らすには、[https://chrome.google.com/webstore/detail/h264ify/aleakchihdccplidncghkekgioiakgal h264ify] や [https://chrome.google.com/webstore/detail/enhanced-h264ify/omkfmpieigblcllmkgbflkikinpkodlk enhanced-h264ify]、[https://chrome.google.com/webstore/detail/not-yet-av1/dcmllfkiihingappljlkffafnlhdpbai Not yet, AV1][https://bbs.archlinux.org/viewtopic.php?pid=2039884#p2039884] 拡張機能を使用してください。 |
VP8/VP9 ハードウェアデコードが使用できない Youtube 動画を視聴しているときに CPU 使用率を減らすには、[https://chrome.google.com/webstore/detail/h264ify/aleakchihdccplidncghkekgioiakgal h264ify] や [https://chrome.google.com/webstore/detail/enhanced-h264ify/omkfmpieigblcllmkgbflkikinpkodlk enhanced-h264ify]、[https://chrome.google.com/webstore/detail/not-yet-av1/dcmllfkiihingappljlkffafnlhdpbai Not yet, AV1][https://bbs.archlinux.org/viewtopic.php?pid=2039884#p2039884] 拡張機能を使用してください。 |
||
− | 一部のシステム (特に |
+ | 一部のシステム (特に Xwayland) では、[[#GPU アクセラレーションを強制する]] 必要があるかもしれません。このセクションでの目的に対しては {{ic|--ignore-gpu-blocklist}} のみで十分です。 |
Skia レンダラーは、現在ビデオデコードアクセラレーションと互換性がないので、無効化する必要があるかもしれません: {{ic|1=--disable-features=UseSkiaRenderer}} |
Skia レンダラーは、現在ビデオデコードアクセラレーションと互換性がないので、無効化する必要があるかもしれません: {{ic|1=--disable-features=UseSkiaRenderer}} |
||
126行目: | 126行目: | ||
Chromium と Google Chrome には ''Chromium PDF Viewer'' プラグインがバンドルされています。このプラグインを使用したくない場合は、{{ic|chrome://settings/content/pdfDocuments}} 内の ''Download PDFs'' を確認してください。 |
Chromium と Google Chrome には ''Chromium PDF Viewer'' プラグインがバンドルされています。このプラグインを使用したくない場合は、{{ic|chrome://settings/content/pdfDocuments}} 内の ''Download PDFs'' を確認してください。 |
||
− | === |
+ | === Xwayland での動作 === |
− | NVIDIA 社のプロプライエタリドライバを使用している場合、 |
+ | NVIDIA 社のプロプライエタリドライバを使用している場合、Xwayland 上で Chromium を実行すると、GPU プロセスが時々クラッシュすることがあります。GPU プロセスがクラッシュしないようにするには、以下のフラグを追加してください: |
--use-angle=vulkan --use-cmd-decoder=passthrough |
--use-angle=vulkan --use-cmd-decoder=passthrough |
||
− | {{Note|これはすべての |
+ | {{Note|これはすべての Xwayland 関連のクラッシュを防止するわけではありません。}} |
=== ネイティブ Wayland サポート === |
=== ネイティブ Wayland サポート === |
||
203行目: | 203行目: | ||
物理ディスクに対する Chromium のキャッシュの書き込みを制限したい場合、{{ic|--disk-cache-dir}} フラグでキャッシュの書き込み先を変更することができます: |
物理ディスクに対する Chromium のキャッシュの書き込みを制限したい場合、{{ic|--disk-cache-dir}} フラグでキャッシュの書き込み先を変更することができます: |
||
+ | |||
$ chromium --disk-cache-dir="$XDG_RUNTIME_DIR/chromium-cache" |
$ chromium --disk-cache-dir="$XDG_RUNTIME_DIR/chromium-cache" |
||
210行目: | 211行目: | ||
tmpfs /home/''username''/.cache tmpfs noatime,nodev,nosuid,size=400M 0 0 |
tmpfs /home/''username''/.cache tmpfs noatime,nodev,nosuid,size=400M 0 0 |
||
}} |
}} |
||
+ | |||
+ | または、{{ic|/tmp}} へのシンボリックリンクを作成してください。以下のコマンドを実行する前に、Chromium のキャッシュフォルダは削除しておいてください: |
||
+ | |||
+ | $ ln -s /tmp /home/''ユーザ名''/.cache/chromium |
||
===== tmpfs にプロファイル ===== |
===== tmpfs にプロファイル ===== |
||
447行目: | 452行目: | ||
{{ic|--password-store}} フラグで以下のどれかの値を指定して Chromium を起動することで特定のパスワードストアを強制的に使うようにすることができます [https://chromium.googlesource.com/chromium/src/+/master/docs/linux/password_storage.md]: |
{{ic|--password-store}} フラグで以下のどれかの値を指定して Chromium を起動することで特定のパスワードストアを強制的に使うようにすることができます [https://chromium.googlesource.com/chromium/src/+/master/docs/linux/password_storage.md]: |
||
− | * {{ic|gnome}} - [[Gnome Keyring]] を使用 |
+ | * {{ic|gnome-libsecret}} - [https://gitlab.gnome.org/GNOME/libsecret libsecret] 経由で [[Gnome Keyring]] を使用 |
* {{ic|kwallet}} - [[KDE Wallet]] を使用 |
* {{ic|kwallet}} - [[KDE Wallet]] を使用 |
||
* {{ic|basic}} - {{ic|Login Data}} ファイルにプレーンテキストとしてパスワードと cookie の暗号鍵を保存 |
* {{ic|basic}} - {{ic|Login Data}} ファイルにプレーンテキストとしてパスワードと cookie の暗号鍵を保存 |
||
* {{ic|detect}} - デフォルトの自動認識 |
* {{ic|detect}} - デフォルトの自動認識 |
||
− | 例えば、Gnome Keyring を使うようにするには {{ic|1=--password-store=gnome}} を付けてください。永続化する方法は [[#フラグを永続化する]] を参照。 |
+ | 例えば、Gnome Keyring を使うようにするには {{ic|1=--password-store=gnome-libsecret}} を付けてください。永続化する方法は [[#フラグを永続化する]] を参照。 |
他のデスクトップ環境のパスワードストアを使う場合、自動的にアンロックされるように設定すると良いでしょう。[[GNOME/Keyring# キーリングを使用する]] や [[KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック]] を参照。 |
他のデスクトップ環境のパスワードストアを使う場合、自動的にアンロックされるように設定すると良いでしょう。[[GNOME/Keyring# キーリングを使用する]] や [[KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック]] を参照。 |
||
572行目: | 577行目: | ||
* [https://docs.kernel.org/filesystems/tmpfs.html 公式の tmpfs カーネルドキュメント] |
* [https://docs.kernel.org/filesystems/tmpfs.html 公式の tmpfs カーネルドキュメント] |
||
− | {{TranslationStatus|Chromium|2023- |
+ | {{TranslationStatus|Chromium|2023-08-19|785590}} |
2023年8月19日 (土) 11:09時点における版
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 U2F 認証
- 3.1.16 テーマ
- 3.1.17 ダークモード
- 3.1.18 サイドパネルを有効化する
- 3.2 プロファイルのメンテナンス
- 3.3 セキュリティ
- 3.1 ブラウズのエクスペリエンス
- 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 でスクロール速度が遅い
- 4.13 動画がロードされるが再生されない
- 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 アクセラレーションを強制する
デフォルトでは、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 を使用すると、intel-media-driver が使用されている場合、Chromium は古い i965 ドライバを強制的に使用し失敗します。回避策として、VA-API を手動で設定してください。詳細については [5] を見てください。
- 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
環境変数を設定してください [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、Not yet, AV1[7] 拡張機能を使用してください。
一部のシステム (特に 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 サポートは、次のフラグを使用して有効にできます [8]:
--ozone-platform-hint=auto
これがうまくいかない場合 (例えば Weston バージョン 106 以下の場合)、次を使ってください:
--ozone-platform=wayland
永続的な設定については #フラグを永続化する を参照してください。このフラグはブラウザのフラグメニューからも設定できます。
この設定により、wayland セッション内では wayland Ozone バックエンドが選択されます。なので、X11 と Wayland を頻繁に切り替える場合でも、デスクトップエントリは一つだけで大丈夫です。
追加で、インプットメソッドの問題が発生している場合は、新しい 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.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 プロセスを作成します [9]。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 を選択してください。
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 キーを保存します [13]。
デフォルトでは Chromium は使用するパスワードストアを自動的に認識しますが、デスクトップ環境やウィンドウマネージャを変えたときにパスワードと cookie が失われてしまう可能性があります。
--password-store
フラグで以下のどれかの値を指定して Chromium を起動することで特定のパスワードストアを強制的に使うようにすることができます [14]:
gnome-libsecret
- libsecret 経由で Gnome Keyring を使用kwallet
- KDE Wallet を使用basic
-Login Data
ファイルにプレーンテキストとしてパスワードと cookie の暗号鍵を保存detect
- デフォルトの自動認識
例えば、Gnome Keyring を使うようにするには --password-store=gnome-libsecret
を付けてください。永続化する方法は #フラグを永続化する を参照。
他のデスクトップ環境のパスワードストアを使う場合、自動的にアンロックされるように設定すると良いでしょう。GNOME/Keyring# キーリングを使用する や KDE Wallet#ログイン時に KDE ウォレットを自動的にアンロック を参照。
トラブルシューティング
フォント
タブのフォントサイズが大きすぎる
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 Fix と SmoothScroll はスクロール距離の変更をサポートする chromium 拡張機能です。ウェブページ内でスクロールすると、現在フォーカスされているノードの最も近いスクロールできる祖先を見つけて、たとえその祖先が一番下までスクロールされていたとしても、その祖先に対してスクロールメソッドがピクセル距離を使って呼ばれます。なので、テキストエディタやスクロール可能な要素にスクロールすると、マウスを動かす以外の方法でその要素からスクロールして出ることはできません。また、拡張機能ベースの手段は Chromium 外では利用できません。
動画がロードされるが再生されない
これは PulseAudio の問題である場合があります。PulseAudio/トラブルシューティング#ブラウザが動画をロードするが、再生しない で提案されている修正方法を確認してください。
参照
- Chromium ホームページ
- Google Chrome リリースノート
- Chrome ウェブストア
- Chromium と Google Chrome の違い
- Chromium コマンドラインスイッチのリスト
- Profile-sync-daemon - Chromium プロファイルを tmpfs に保存し、ディスクと同期する systemd サービス
- Tmpfs -
/etc/fstab
での tmpfs ファイルシステム - 公式の tmpfs カーネルドキュメント