軽量WebブラウザChromiumの覚え書き(2009/9/1現在)
KDEのKonquerorで用いられているHTML描画エンジンKHTMLから派生した後に大きく改善されたWebKitを用い、軽量/高速な動作を重視して作られているオープンソースの軽量WebブラウザChromiumのGNU/Linux向け開発版を試してみた。
入手
- x86_32版: http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/
- x86_64版: http://build.chromium.org/buildbot/snapshots/chromium-rel-linux-64/
からリビジョン番号(番号が高いほど新しい)ごとのディレクトリに移動して中のZIPファイルをダウンロードし、展開する。
中のchromeという名前のファイルを実行すると起動する。
Gentoo Linuxでは「chromium-bin」パッケージとしてここにあるChromiumをインストールすることができるようだ。
依存パッケージ
実行ファイルの依存情報を参考にしたもの。末尾の数字はライブラリのバージョン。
libstdc++のバージョンについては「GCCのバージョンが4.2以上」であることが要求されている。
手動でビルドする場合の依存パッケージは更に多く
http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites
の「Software Requirements」に載っている通りとなるが、頻繁に新しい(ビルド済み)実行形式がアップロードされていることもあり、手動でのビルド作業については行わない(扱わない)。
起動時のオプション指定
機能に関する有効化/無効化
幾つかの機能は標準では無効化されていて、コマンド行オプションによって有効化する必要がある。
- --enable-plugins: Flashなどのプラグインを使用可能にする
- --enable-user-scripts: JavaScriptによるユーザ拡張(ユーザスクリプト)を許可する
起動オプションは色々あるようで、
http://chrome.half-moon.org/43.html
などにも載っているが、(Chromiumを元にしているWebブラウザの)Google Chromeのものとして載っているため、Chromiumとは異なる可能性がある。
拡張機能については標準で有効となっていて--disable-extensionsで無効化される。
「閉じる」ボタンを人の顔にする
Chromium独自のウィンドウ装飾を用いているときに「閉じる」ボタンがGlenという人の顔の画像になる--glenというオプションが存在する。
上の画像は--glenオプションを付けて起動後、独自のウィンドウ装飾を用いている状態でAcid3のページを開いているところ。
プロファイルを分ける
--user-data-dir=[設定ディレクトリ]オプションを用いるとプロファイル分けができ、目的別に各種設定を使い分けることが可能。
起動時のエラー
Chromiumのプロジェクトにある開発版の実行ファイル(本記事の「入手」のところに書いたリンク先のもの)を実行しようとすると(ディストリによっては)
$ ./chrome --enable-plugins --enable-user-scripts ./chrome: error while loading shared libraries: libnss3.so.1d: cannot open shared object file: No such file or directory
のようになって起動できない。これは一部共有オブジェクトの拡張子に関する問題が原因で、対応するファイルへのシンボリックリンクを作成することで回避する。Gentoo Linuxの「chromium-bin」パッケージでもこの手法を用いているようだ。
下はx86_64版Mandriva Linux 2009.0における作業例(Chromiumはx86_64版を使用するものとする)。
$ cd /usr/lib64/ $ for name in nss3 nssutil3 smime3 ssl3; do sudo ln -s lib${name}.so{,.1d}; done $ for name in plds4 plc4 nspr4; do sudo ln -s lib${name}.so{,.0d}; done $ unset name $ cd -
もしこの作業を行ったにも関わらず同様のエラーが出る場合、リンクされるライブラリ(nssとnspr)が存在していないことが考えられるので、これらをパッケージとしてインストールしておく。
(2009/11/21)Mandriva Linux 2010.0ではこれらの共有オブジェクトは/lib(64)/に入っているため、最初のcdはそのディレクトリに対して行う。
ユーザインターフェースの言語
ユーザインターフェースの言語として最初から日本語が利用可能となっているが、開発版のため、一部未訳部分が残っているようだ。
Flashの動作について
AdobeのFlashプラグイン(x86_64版のFlashで確認)は--enable-pluginsオプションを付けて起動することにより正常に動作している。
YouTube/ニコニコ動画/zoomeといった動画サイトでも問題はなく、Firefoxのバージョン3.5系のように落ちる原因となったりはしていない。
ただし、Flashのメニューから設定ダイアログを開くとうまく動かないようだ。
(2009/9/26)Chromiumと直接関係はないが、バージョン3.5系のFirefoxがflashのあるページで落ちることが多い件について
- 「GTK_IM_MODULE=uim [firefoxの場所]」としてFirefoxを起動し、uimをGTK+ 2のimmoduleから使用するとflashのあるページで落ちることが多い
- uim-ximを起動後環境変数XMODIFIERSを「@im=uim」と設定し、「GTK_IM_MODULE=xim [firefoxの場所]」としてFirefoxを起動することでuimをximとして使用すると安定する
となっていることが分かり、バージョン3.5系のFirefoxはuimのGTK+ 2 immoduleとの相性が悪いのではないかという疑いがある。
印刷
印刷はメニューから選択しても何も起こらない(未実装?)。
http://code.google.com/p/chromium/wiki/LinuxPrinting
に関連情報がある。
(2009/9/22)その後、バージョン4.0.212.0(26771)の時点では印刷ダイアログが表示されるようになり、PDFファイルへの書き出しは正しく行えるようになっている。ただ、直接の印刷については(cups-pdfで試した限りでは)おかしい部分がある。