ソフトウェア関連記事

 随想録の内ソフトウェアに関連した記事です。Firefox 1.0.xの内容はこっちに移動

Mozilla Firefox

(Geckoレンダリングエンジンを採用し、自由度の高い拡張性を備えたブラウザ)

Software

Last Updated:09/08/05

 2004年8月に久々にニューバージョンがリリースされたネットスケープが、かつて生き残りを賭けてスタートさせたオープンソースプロジェクト、Mozilla。しかし、度重なる開発の遅れに加え、ようやくリリースされたバージョン1.0は起死回生の一打どころか、サイズが大きい上に動作速度が使い物にならないくらいに遅く、結果Macの新規ブラウザへの採用を見送られる始末。

 Firefoxは、そんな『コードが長く、結果遅くてダウンロードサイズも大きい』というMozillaへの批判を受けて軽量・高速を目指して開発されたブラウザだ。実際、現行最新の公式リリースである1.5.0.x系のダウンロードサイズは5.0MB程度と、Mozillaに比べ半分かそれ以下となっている。

 ダウンロードサイズが小さいだけでなく、Firefoxは機能の面でも多くの点でIEを上回っている。タブブラウズ機能やLiveBookmarkのサポートはIEが持っていない強力な機能だし、他にも様々な機能がある(詳しくはMozilla Firefox ブラウザに乗り換える理由を参照)。但し、単体としてIEを使っていた人がIEに満足できなくなった時にFirefoxの他に乗り換えの対象として検討するであろう、OperaやIEコンポーネントを使ったタブブラウザに比べて強力で快適かというと、そうとは言い切れない。

 これは簡単に言えば設計思想の違いからくるもので、普通のアプリケーションはOSとの親和性が高いネイティブコードで書かれているのだが、Firefoxはまずクロスプラットフォームを念頭に置き、実装の部分はネイティブコードではなくXMLとJavaScriptを組み合わせたXULという独自のプログラム言語で書かれている。このおかげで各種の拡張機能をOS毎に設計する必要がなくなったのだが、弊害がある。遅いのだ。Firefox単体としては最低限の機能しか実装されていないためそれほどではないのだが、基本的には機能を追加すればするほど遅く、重くなる。つまり、機能と速度・重さがトレードオフの関係にあるということだ。

 また、単体として最低限の機能しか実装していないが故に、最初からある程度機能拡張がなされているOperaやIEコンポーネントを用いたタブブラウザに比べると『そのままでは』機能面で貧弱であると言わざるを得ない(当然素のIEよりは高機能だが)。

 しかし、だからと言ってFirefoxは乗り換えに値しないというわけではない。その第一の理由に、一般にMozilla系のブラウザはIE系のそれに比べて安全性が高いことが挙げられる。これは『オープンソースだから』と説明されることもあるが、実際には『マイナーなブラウザな為ワザワザ狙われないから』というところが大きい。脆弱性を利用しようとする悪意ある第三者は、金銭目的にせよ愉快犯にせよ(特定のブラウザ或いはそのユーザに対して特に感情を抱いていない場合)先ずはシェア90%以上を占めるIEを標的とする。それが最も効率的で効果的だからだ。そのため、ブラウザの脆弱性を狙った攻撃の多くはIEの使用を避けることでで回避できる。

 第二に、Firefoxは見た目をかなり自由に、簡単にカスタマイズ出来る。その自由さは、豊富なテーマ(他ソフトで言うスキン)によるアイコンや配色の変更に留まらない。ユーザ独自のカスケーディングスタイルシート(CSS)を用意することで、不要なメニューやコンテキストメニューを削除したり、部分的にフォントを変更したりといった、他ソフトであればソースに手を加え再コンパイルが必要なことまで出来てしまう。更には、見ているWebページに対しても独自のCSSを適用し、広告を消したり見た目を変えたりと言ったことが可能だ(→ユーザCSSの適用実例その1: Gmail Mobile)。

 第三に、Firefoxは自分の使いたい機能を拡張できる。IEコンポーネント使用のタブブラウザやOperaを使っている人でも、実際にその全ての機能を使い切っているという人は稀であろう。自分の使いたい機能を全て拡張したFirefoxがそれらよりも軽く、速いか、或いは少々重く、遅くともその差よりもFirefoxの魅力が勝っているなら、乗り換えるだけの理由になる筈だ。

 因みに筆者の場合、10個の拡張(All-In-One Search ButtonJavaScript Actionsオフライン拡張FlashGotGmail NotifierGmail ManagerCuteMenus ClassicTab Mix LiteImgLikeOperaNoScriptContext Search)を入れているが、起動にかかる時間は14秒程度(Windows 2000 SP4、Sempron 2600+、メモリ512MBのマシンで綾川氏の1.5 Branchビルドを使用の場合)。但し、これは初回起動時の話で、DLLがメモリ上にロードされていれば3秒以下となる。これは少し遅いかもしれないが、メニュー表示、レンダリング、タブ切り替え等のレスポンスは非常に速く、快適に使えている。マシンスペックが高ければもっと速く動くことだろう。
 また、起動速度の改善策としては、後述するようにFirefox Preloaderを入れ、OSのスタートアップ時に常駐させるという方法もある。

 設定はIEしか使ったことがない人にとっては少し難しいかもしれない。一般的な設定はIEのインターネットオプションのようなオプションから設定できるが、IEの詳細タブにあるような細かい設定はアドレスバーにabout:configと入力して開く設定画面か、或いはuser.jsというファイルをプロファイルフォルダに作成して設定してやらねばならない。しかし、よくわからない場合にはFirefox Help: 使用上のヒント等の情報が公開されているので、そちらを参照すると良いだろう。

 さて導入だが、このFirefox、毎日新たなBuild(バージョンと読み替えても良い)が作られているので、どれを落としたらよいかわからないという人もいるだろう。そんな人は、取り敢えずはMozilla Firefox インストールガイドを一読すると良い。ダウンロードからインストールまでの流れが非常に解りやすく解説されている。

 インストールが済み、一通り使ってみてもし何か物足りないところが出てきたら、Firefox Help: 拡張を覗いてみよう。自分に必要な機能拡張(所謂アドオン、プラグイン)がある筈だ。特にFirefoxのタブブラウザ機能を強化するタブブラウザ拡張を導入すると、FirefoxをSleipnirやDonutのようなタブブラウザとして利用できるようになる。

 と、まぁ色々と紹介したが、本当のところは使ってみなければわからない。前述したようにFirefoxのインストーラ版のダウンロードサイズは4.7MBに過ぎず、また完全に無料で提供されている。習うより慣れろの諺どおり、まずは使ってみるのが一番良い。Firefox 日本語公式サイトに曰く、失うものはなにもないのだから・・・。

おまけ −ヒント集−

 既に使っている人向けの情報。Firefoxまとめサイト見た方が早いです。

不必要なメニューを非表示

 ページ内で右クリックしたときに出て来るコンテキストメニューの中で、要らないものは削除することが出来ます。詳しくはHow can I remove items from right-click context menu?を参照。

 また、上段の要らないメニューも消すことが出来ます。例えば、「ヘルプ」と「移動」を消すには、下記をuserChrome.cssに足します。

/* Remove the Go and Help menus */
 menu[label="移動"], menu[label="ヘルプ"] {
   display: none !important;
}

 このlabel=となっているところの中身を、消したいメニューの名前と同じにすればファイルやブックマークも消せます。因みに、英語版の場合は英語のラベルにします。また、英語日本語を時々によって使い分ける場合は例えば、

/* Remove the Go and Help menus */
 menu[label="Go"], menu[label="Help"], menu[label="移動"], menu[label="ヘルプ"] {
   display: none !important;
}

 このように書くことで言語を切り替えても消えたままにすることが出来ます。但し、userChrome.cssの中身に日本語を含む場合、エンコードをUTF-8で保存しないと正しく動きません。

 メニューアイテムの削除については詳しくまとめましたのでどうぞ。 → 不必要なメニューを非表示

タブブラウザ拡張の機能の内一つ、或いは複数を置き換える拡張

  1. 本来新規ウィンドウに開くリンク(link targetが_blankなリンク等)をタブで開く他色々
     → Tab Mix Plus by CPU
     → Tabbrowser Preferences by TheOneKEA
  2. Firefoxを終了するとき、各ウィンドウの全てのタブの状態を保存し、次回起動時に復元する
     → Session Saver by rue
     → Tab Mix Plus by CPU
  3. Firefoxがクラッシュしたとき、各ウィンドウの全てのタブの状態を保存し、次回起動時に復元する
     → Session Saver by rue
     → Crash Recovery by zeniko
  4. タブのドラッグ&ドロップ、マウススクロールでのタブ切り替え等
     → Tab Mix Plus by CPU
     → miniT by Dorando
  5. 『タブを閉じる』を各々のタブに追加
     → Tab X by clav
     → Tab Mix Plus by CPU
  6. 最後のタブを閉じたときウィンドウ自体は閉じず、空白ページを表示したタブを表示する
     → Blanklast by cch
     → Click2Tab by NetOne
     → Tab Mix Plus by CPU
  7. 現在フォーカスしているタブを閉じたとき、その前にフォーカスしていたタブにフォーカスを移す
     → FLST (Focus Last Selected Tab) by Gorgias
     → Tab Mix Plus by CPU
  8. 最後に閉じたタブを戻す
     → Undo Close Tab by Dorando
     → Click2Tab by NetOne
     → Tab Mix Plus by CPU
  9. 最近閉じたタブを復元する
     → Undo Close Tab by Dorando
     → Click2Tab by NetOne
     → Tab Mix Plus by CPU
  10. 現在開いているタブの一覧を表示する
     → Tab Mix Plus by CPU
     → ContextFox by Omar
  11. 現在のタブのコピーを新規タブに開く
     → Tab Mix Plus by CPU
     → Duplicate Tab by Twanno
  12. タブをダブルクリックで閉じるようにする等、ミドルクリック、ダブルクリックに様々な動作を割当てる
     → Tab Clicking Options by Twanno
     → Tab Mix Plus by CPU
  13. 任意のタブ内のリンクを全て新規タブで開くように設定する
     → Tab Mix Plus by CPU
     → Tabbrowser Preferences by TheOneKEA
     → tabloc by Asukaze

※詳細はXUL Apps > Tabbrowser Extensions - outsider reflexや、Rebuilding TBE's featureset with other plugins, III - MozillaZine Forums(英語)を参照。

タブをアクティブか否かで色分けする

 テーマを導入していればデフォルトで色分けされている事が多いですが、デフォルトだとそうではないのでデフォルトのテーマ用に取り敢えず私の設定を。
 userChrome.css(デフォルトならC:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\default.***\chromeにある)に、下記を追加。

/* Change appearance of tabs */
tab{
   -moz-appearance: none !important;
   text-align: center !important;
   padding-top:3px !important;
   padding-bottom:2px !important;
   margin:0 !important;
   font-weight:normal !important;
}

/* Change appearance of active tab */
tab[selected="true"] {
   background-color: #B0B0BE !important;
   color: white !important;
}

/* Change appearance of inactive tabs */
tab:not([selected="true"]) {
   color: #8484B5 !important;

※これはデフォルトのテーマ用です。アクティブなタブの背景色を暗めにし、バックグラウンドのタブの文字を白にすることでアクティブなタブを強調しています。色が気に入らない場合colorやbackground-colorの行は好きに変えられます。
※また、デフォルトではタブバーの縦幅が広すぎると思っているので、padding-topとpadding-bottomを指定して細くしてあります。
※この他userChrome.cssやuser.jsに関してはFirefox Help: 使用上のヒントを参照のこと。

少しでも動作を軽く、高速にするまとめ。

 このあたりです。このうちの大体を実行した結果、Dualとは言え1GHzのCPUにPC133のメモリ512MBの私のマシンで起動速度以外はIEコンポ使用のタブブラウザと変わらない速度(寧ろ挙動はFirefoxの方が速い気がするくらい)で快適に動いてますので、現在一般的な環境にある方は快適に使える筈。
 この他根本的な解決策としては、古いマシンを窓から投げ捨てて高速で俊敏なCPUに高速なメモリを積めるだけ積み、更に高速なハードディスク(RaptorとかSCSIで10000rpm以上のHDDとか。iRamなら最高)でも搭載したマシンに買い換えることが考えられます。特に起動に関してはCPUよりもメモリやHDDの速さの方が影響しそうです。デフラグも大切。

 また、最後に書いたFirefox PreloaderやMinimize to Trayを使うと、所謂クイック起動をタスクトレイに常駐させることが出来ます。これで一番遅い起動を最初の一度しか行わなくて良くなります。

Mozilla Firefox - The Browser, Reloaded(日本語版公式サイト)
http://www.mozilla-japan.org/products/firefox/

Firefox Help 日本語版 - Web ブラウザ Mozilla Firefox オンラインヘルプ
http://texturizer.net/mozilla/jp/firefox/

Mozilla Firefoxまとめサイト(必読)
http://firefox.geckodev.org/

Firefox更新情報 Wiki(各種拡張、テーマ、最適化ビルドの更新情報ならここ)
http://wikiwiki.jp/firefox/

Firefox:スクリーンショットと解説 (特に拡張紹介が分かりやすい)
http://www.ikimono.org/soft/firefox.html

Nightly Buildの場所
http://ftp.mozilla.org/pub/mozilla.org/firefox/

非公式ビルドや最適化版各種
http://forums.mozillazine.org/viewforum.php?f=42

MarleySoft 別館 - 綾川版Firefox&作成のための覚え書き(Windows向け最適化ビルドがあります)http://marilab.hp.infoseek.co.jp/buildfx/index.html

意見・感想の投稿先

 フォーラム