Chromium

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Chromium and the translation is 100% complete.

Chromium は Google の Chrome Web ブラウザのオープンソース版です。最小限のユーザーインターフェースと、強力な Web 開発ツールと、組み込みのタスクマネージャを特徴としています。Chromium プロジェクトは新しい Web 標準を実装する最前線です。

Chromium はオープンソースなので、プロプライエタリな Google Chrome ブラウザにデフォルトで含まれるいくつかの機能は、法律上の理由で含めることができません。例えば自動アップデートです。差分の完全な一覧は chromium リポジトリで確認できます。

インストール

USE フラグ

USE flags for www-client/chromium Open-source version of Google Chrome web browser

X Add support for X11
component-build Split build into more shared libraries to speed up linking. Mostly intended for debugging and development, NOT RECOMMENDED for general use.
cups Add support for CUPS (Common Unix Printing System)
custom-cflags Build with user-specified CFLAGS (unsupported)
debug Enable DCHECK feature with severity configurable at runtime. Mostly intended for debugging and development, NOT RECOMMENDED for general use.
gtk4 Build with GTK4 headers.
hangouts Enable support for Google Hangouts features such as screen sharing
headless Build Ozone only with headless backend, NOT RECOMMENDED for general use.
js-type-check Enable JavaScript type-checking for Chrome's web technology-based UI. Requires Java.
kerberos Add kerberos support
libcxx Use bundled libc++ instead of libstdc++ for building.
lto Build with Link Time Optimizations (via clang's ThinLTO)
official Enable Official build instead of Developer build.
pgo Build with Profile Guided Optimizations (2-stage compilation)
pic Disable optimized assembly code that is not PIC friendly
proprietary-codecs Enable codecs for patent-encumbered audio and video formats.
pulseaudio Add support for PulseAudio sound server
qt5 Add support for the Qt 5 application and UI framework
screencast Enable support for remote desktop and screen cast using PipeWire
selinux !!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
suid Build the SUID sandbox, which is only needed on CONFIG_USER_NS=n kernels
system-av1 Use system libaom and dav1d instead of the bundled one.
system-ffmpeg Use system ffmpeg instead of the bundled one
system-harfbuzz Use system harfbuzz instead of the bundled one.
system-icu Use system icu instead of the bundled one
system-png Use system libpng instead of the bundled one.
vaapi Enable Video Acceleration API for hardware decoding
wayland Enable dev-libs/wayland backend
widevine Unsupported closed-source DRM capability (required by Netflix VOD)

icu

Important
Chromium が emerge されるのを妨げる dev-libs/libxml2 との emerge スロット衝突を回避するには、/etc/portage/make.conficu USE フラグを設定する必要があります。icu が新たに設定された場合、Chromium を emerge する前に以下を実行してシステムを更新してください:

root #emerge --ask --update --deep --newuse @world

L10N

Chromium では L10N USE_EXPAND 変数を通して多くの言語を利用することができます。多すぎて wiki ではすべてを表示できません。すべての地域化言語を一覧表示するには、次を実行してください:

user $equery u www-client/chromium | grep -i l10n
Note
equery ツールは app-portage/gentoolkit パッケージに含まれます。上のコマンドを使用するには、このパッケージがインストールされている必要があります。

ローカライゼーションに関するさらなる情報については、ローカライゼーションの記事を読んでください。

Emerge

Tip
Chromium のコンパイルには、かなりの実時間と CPU 時間とシステムメモリを占有することに注意してください。make の各スレッドに対して 2Gb の RAM が割り当てられるようにしてください(MAKEOPTS を適切に設定することによって。こちらの投稿も参考にしてください)。システムに負荷がかかっている状態で Chromium をビルドするのは、おそらく止めておいたほうがよいでしょう。

USE フラグを望み通り設定したら、次のコマンドで Chromium を emerge してください:

root #emerge --ask www-client/chromium

設定

Clang

Clang で Chromium をビルドするには、まず Clang#Clang_environments を読んでください。

Chromium に固有な事項として、次の env 設定が必要です:

FILE /etc/portage/env/clang-chromium
# 任意で,以下を EXTRA_GN に追加してください:
# - thin_lto_enable_optimizations=true 
# - use_thin_lto=true
# - is_cfi=true 
EXTRA_GN="use_lld=true is_clang=true clang_use_chrome_plugins=false" 
#
# GCC11を用いる場合に必要です
CHROMIUM_FORCE_LIBCXX=yes

それからこれらを有効にしてください(他の記事に記載されている基本的なClangの設定に、必要な設定を今定義したことに気をつけてください):

FILE /etc/portage/package.env
# compiler-clang: 基本的なClang環境でビルド(Clangの記事を見てください)
# clang-chromium: Chromium用の調整を加えてビルド
www-client/chromium compiler-clang clang-chromium

高 DPI

Chromium の映像出力は通常、デスクトップ環境の DPI スケーリングとは独立しています。--force-device-scale-factor コマンドラインオプションを使用することで、スケールされたモードで起動するように指示することができます。このオプションには整数または小数の値を渡すことができます。標準のスケーリングは 1.0 で開始します。例えば、Chromium の UI を1.5 倍の大きさにするには:

user $chromium --force-device-scale-factor=1.5

コマンドラインスイッチの一覧はここで見ることができます。

ネイティブ Wayland サポート

バージョン 87 以降、次のオプションを渡すことで Chromium のネイティブ Wayland サポートを有効化することができます:

user $chromium --enable-features=UseOzonePlatform --ozone-platform=wayland

Chromium を常に Wayland バックエンドを使用して起動するように設定するには、ユーザの Chromium 構成ファイルに以下の行を追加してください:

FILE ~/.config/chromium-flags.conf
--enable-features=UseOzonePlatform
--ozone-platform=wayland

タブホバーカードを無効化する

バージョン 91.0.4472.77 以降、Chrome フラグ内でタブホバーカードを無効化することができなくなりました。Google はこの機能を復活させることを優先しないようです。無効化するために、Portage に以下のパッチを追加することができます:

FILE /etc/portage/patches/www-client/chromium/hover-card.patch
diff --git a/chrome/browser/ui/views/tabs/tab_strip.cc b/chrome/browser/ui/views/tabs/tab_strip.cc
index 2c94eb0..1f7bde0 100644
--- a/chrome/browser/ui/views/tabs/tab_strip.cc
+++ b/chrome/browser/ui/views/tabs/tab_strip.cc
@@ -2149,6 +2149,7 @@ void TabStrip::OnMouseEventInTab(views::View* source,
 }
 
 void TabStrip::UpdateHoverCard(Tab* tab, HoverCardUpdateType update_type) {
+  return;
   // Some operations (including e.g. starting a drag) can cause the tab focus
   // to change at the same time as the tabstrip is starting to animate; the
   // hover card should not be visible at this time.

Added setting for Tab Hover Cards もご覧ください。

使い方

Chrome URL

Firefox と同じように、Chromium は追加の構成設定、トラブルシューティング、タスク管理、等々のために使用できる、内部 Chrome URL(特別ページ)を多数持っています。特別ページの完全な一覧は chrome://about/ に移動することでアクセスできます。

特によく使用される特別ページには次のようなものがあります:

  • chrome://components/ - 有効化されたコンポーネントを表示し、それぞれの更新を確認するためのボタンを提供します。Chrome を使用している場合、このインターフェースを介して手動で PPAPI Adobe flash モジュールを更新する必要がある場合があります。
  • chrome://chrome/ - バージョン情報を含む About ページを表示します。
  • chrome://extensions/ - 拡張機能を管理するページです。
  • chrome://flags/ - 実験的機能を有効化・無効化します。
  • chrome://flash/ - Adobe Flash Player に関する特別な情報を表示します(Chromium からアクセス可能な場合)。
  • chrome://gpu/ - グラフィックスアクセラレーションの使用に関する情報を表示します。
  • chrome://history/ - Web の履歴を表示します。サンドイッチメニューから、あるいは Ctrl+h を押すことでもアクセスできます。
  • chrome://memory-redirect/ - ブラウザのメモリ使用量とタブ毎の使用量を計測します。
  • chrome://net-internals/ - ネットワーク接続に関する多くの情報です。
  • chrome://plugins/ - プラグインの一覧を表示します。このインターフェースからプラグインを有効化・無効化できます。(Chrome バージョン 57 で旧式化されました[1]。)
  • chrome://version/ - chrome ページよりも詳細なバージョン情報を表示します。

トラブルシューティング

タブがクラッシュする

時として Chromium のタブがクラッシュすることがあります。クラッシュの原因はいくつか考えられますが、よくある原因の一つはメモリの空き容量が少ない状態でシステムが動作していることです。Gentoo では特に、システムが Chromium を実行している状態で www-client/chromium のパッケージ更新をコンパイルしている場合に起こり得ます。

システムのメモリ空き容量を確認するには、free コマンドを使用できます:

user $free -h
              total        used        free      shared  buff/cache   available
Mem:            15G         11G        735M        789M        3.4G        3.1G

解決策は、大きなパッケージのコンパイルが完了するまでメモリを空けておくことです。リソースモニタを開き、メモリを大量に使用しているアプリケーションを終了させてください。

参考

  • Firefox — Mozilla's web browser.
  • Chrome — Google's proprietary (closed source) web browser.

参照