Chromium
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. |
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. |
pax-kernel
|
Allow building on a PaX-enabled kernel |
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
Chromium が emerge されるのを妨げる dev-libs/libxml2 との emerge スロット衝突を回避するには、/etc/portage/make.conf で
icu
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
ローカライゼーションに関するさらなる情報については、ローカライゼーションの記事を読んでください。
Emerge
Chromium のコンパイルには、かなりの実時間と CPU 時間とシステムメモリを占有することに注意してください。make の各スレッドに対して 2Gb の RAM が割り当てられるようにしてください(MAKEOPTS を適切に設定することによって。こちらの投稿も参考にしてください)。システムに負荷がかかっている状態で Chromium をビルドするのは、おそらく止めておいたほうがよいでしょう。
USE フラグを望み通り設定したら、次のコマンドで Chromium を emerge してください:
root #
emerge --ask www-client/chromium
設定
Clang
Clang で Chromium をビルドするには、まず Clang#Clang_environments を読んでください。
Chromium に固有な事項として、次の env 設定が必要です:
/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の設定に、必要な設定を今定義したことに気をつけてください):
/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 構成ファイルに以下の行を追加してください:
~/.config/chromium-flags.conf
--enable-features=UseOzonePlatform --ozone-platform=wayland
タブホバーカードを無効化する
バージョン 91.0.4472.77 以降、Chrome フラグ内でタブホバーカードを無効化することができなくなりました。Google はこの機能を復活させることを優先しないようです。無効化するために、Portage に以下のパッチを追加することができます:
/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
解決策は、大きなパッケージのコンパイルが完了するまでメモリを空けておくことです。リソースモニタを開き、メモリを大量に使用しているアプリケーションを終了させてください。