Firefox/設定
このページでは Firefox の高度な設定オプションとパフォーマンスを上げる設定を説明します。
目次
- 1 パフォーマンス
- 2 外観
- 3 その他
- 3.1 追加のメディアコーデックの有効化
- 3.2 マウスホイールでスクロールする速度
- 3.3 Firefox 検索バーの検索エンジンの順番を変更
- 3.4 Abiword や LibreOffice Writer で *.doc を自動的に開く方法
- 3.5 "I'm Feeling Lucky" モード
- 3.6 DNSSEC で DNS をセキュア化
- 3.7 マグネットプロトコルの関連付けの追加
- 3.8 マグネットプロトコルの関連付けを kTorrent (KDE4) に追加
- 3.9 突然終了してしまうのを防ぐ
- 3.10 最新版でプラグインが動作しない
- 3.11 スクロールがギクシャクしている
- 3.12 WebRTC で LAN IP アドレスが判明する
- 3.13 nspawn コンテナの中で Firefox を実行
- 3.14 1024ビットの Diffie-Hellman 鍵交換を無効化
- 4 参照
パフォーマンス
Firefox のパフォーマンスを向上させる方法には、Firefox の実行中に入力できるパラメータ、開発者によって決められている設定の変更、もしくは外部プログラムやスクリプトによる高度な方法が存在します。
Firefox の高度なオプション
このセクションではパフォーマンスに関する Firefox の高度なオプションについて説明しています。詳しい情報は Mozillazine フォーラムの投稿 を見て下さい。
OpenGL Off-Main-Thread Compositing (OMTC) の有効化
OpenGL OMTC が有効になっているかどうか確認するには、about:support
を開いて "Graphics" セクションの "GPU Accelerated Windows" を見ます。"0/1 Basic (OMTC)" (または 0/2) と表示されている場合、OpenGL OMTC は無効になっています。"1/1 OpenGL (OMTC)" (または 1/2 や 2/2) となっている場合、有効です。
OpenGL OMTC を有効にするには about:config
を開いて以下を設定します:
- layers.acceleration.force-enabled true
- layers.offmainthreadcomposition.enabled true (default)
Firefox を再起動することで変更が適用されます。
Firefox の OMTC に関する詳細は次のページにあります: https://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositing
ネットワーク設定
高度なネットワーク設定は about:config
ページから変更できます (network を検索してみてください)。
設定名 | 値 | 説明 |
---|---|---|
network.http.pipelining | true | 通常接続で pipelining を有効にします。 |
network.http.proxy.pipelining | true | プロキシ接続で pipelining を有効にします。 |
アンチフィッシングの無効化
Firefox のアンチフィッシング機能は Firefox の起動や終了を遅くすることがあります。問題は Firefox が Sqlite データベースを使っており、何度も使用しているうちにデータベースが巨大に成長することで読み書きが遅くなるのが原因です。どのサイトが怪しいのか Firefox に知らせてもらう必要がないと感じたのならば、機能を無効にすることが可能です:
- 設定のセキュリティタブで次のオプションをオフにしてください: "攻撃サイトとして報告されているサイトをブロックする" と "偽装サイトとして報告されているサイトをブロックする"。
- プロファイルフォルダ (
~/.mozilla/firefox/<profile_dir>/
) に存在するurlclassifier
から始まるファイルを全て削除してください:
$ rm -i ~/.mozilla/firefox/<profile_dir>/urlclassifier*
- 上記のファイルは Firefox によって再作成されることがありますが、初期サイズから大きく成長することはなくなります。
urlclassifier3.sqlite が作成されないようにする
上述のように urlclassifier*
ファイルを全て削除しても、一定期間後に urlclassifier3.sqlite
のサイズがまた増加することがあります。将来的にサイズが増加しないようにするシンプルな解決法:
$ cd ~/.mozilla/firefox/<profile_dir> $ echo "" > urlclassifier3.sqlite $ chmod 400 urlclassifier3.sqlite
ファイルを空にして読み取り専用にすることで Firefox から書き込めないようになります。
OCSP 検証の無効化
OCSP バリデーションは、Firefox が新しいサーバーに接続 (HTTPS) するたびに 遅延を発生させる ことがあります。特に、HTTPS を使用するページにウェブガジェットが含まれていた場合、一つの URL で複数の接続が発生することになり、事態を悪化させます。
- 設定 -> 詳細 -> 証明書にある次のオプションをオフにしてください: "OSCP レスポンダに問い合わせてデジタル証明書の有効性をリアルタイムに確認する"。
ディスクキャッシュの無効化
ロードされたオブジェクト (html ページ、jpeg 画像、css スタイルシート、gif バナー) はすべて Firefox キャッシュに保存され、同じオブジェクトを今度使用するときにロードすることで、もう一度サーバーからダウンロードする必要を省きます。しかしながら、実際に再利用されるオブジェクトはごくわずかに限られています (通常は 30% ほど)。これはオブジェクトの有効期間が短すぎたり、アップデートがあったり、もしくは、単純にユーザーが行う行動 (訪問済みのページではなく新しいページをロードするなど) が原因であったりします。Firefox のキャッシュはメモリキャッシュとディスクキャッシュに分けられており、ディスクキャッシュを使用している場合、オブジェクトがロードされる度にディスクに書き込みが行われ、また、同時に古いオブジェクトの削除もされるために、頻繁にディスクの書き込みが発生します。
- 設定 -> 詳細 -> ネットワーク -> キャッシュされた Web ページから "キャッシュサイズを制限する" でゼロを指定してください。
セッションを保存する間隔を長くする
Firefox のセッションは15秒ごとに現在の状態 (開かれている url、cookie、履歴とブックマーク) を自動的に保存しています。これはユーザーが必要とするところよりも少し頻繁すぎる嫌いがあり、頻繁にディスクアクセスを発生させています。
セッションの保存間隔の設定は about:config
ページから変更できます (sessionstore を検索してください)。
- browser.sessionstore.interval 300000
即座にページをレンダリング
Mozilla アプリケーションはウェブページを漸増的にレンダリングします。ページ全体がダウンロードされる前に、ページの一部だけを表示するのです。基本的にウェブページの最初の部分には表示に関係する情報はあまり存在しないため、Mozilla アプリケーションはページをレンダリングする前に少しの間だけ待機します。以下の設定はインターバルを制御します。接続速度が遅い場合 (ダイアルアップ接続など)、設定を変更するとウェブページのロード時間が長くなることがあるので注意してください。
- nglayout.initialpaint.delay の値を 0 に変更。
上記の設定は about:config
ページで行うことができます。
その他の設定
このセクションでは Firefox のパフォーマンスを向上させるその他の設定を説明しています。
Firefox の追跡防止オプションの有効化
Firefox には 追跡防止 のオプションが存在します。about:config
から設定することで有効にできます:
- privacy.trackingprotection.enabled true
プライバシーを守る以外にも、追跡防止 を有効化するとロード時間が 44% 短くなるという効果があります。
UPX で Firefox バイナリを圧縮して起動時間を短縮
UPX は高速な伸長をサポートしている実行可能ファイル圧縮ツールであり、メモリのオーバーヘッドを減らします。公式リポジトリの upx パッケージでインストールできます。
upx
を使用して Firefox の実行可能ファイルを圧縮する前に、バイナリのバックアップを作成してください:
# cp /usr/lib/firefox/firefox /usr/lib/firefox/firefox.backup
最後に、upx
を実行して、最大圧縮レベルを適用してください:
# upx --best /usr/lib/firefox/firefox
プロファイルの SQLite データベースのデフラグ
Firefox 3.0 ではブックマーク・履歴・パスワードは SQLite データベースに保存されます。SQLite データベースは使っていくうちに断片化して空き領域があちこちにできます。Firefox はデータベースを確認して最適化することはしないので、しばらくすると断片化は性能に影響してきます。データベースのデフラグを行なって使われていない領域を削除することで起動時間を短縮したりブックマークや履歴などの操作を高速化することが可能です。
profile-cleanerAUR がデフラグを行います。
SQLite データベース | デフラグ前のサイズ | デフラグ後のサイズ | % 変化 |
---|---|---|---|
urlclassifier3.sqlite | 37 M | 30 M | 19 % |
places.sqlite | 16 M | 2.4 M | 85 % |
tmpfs でプロファイルを RAM にキャッシュ
システムにメモリが余っている場合、tmpfs
を使ってプロファイルディレクトリ全体をキャッシュすることができます。そうすると Firefox のレスポンスが高まります。
外観
フォント
次の記事を参照してください: フォント設定
DPI の値の設定
Modifying the following value can help improve the way fonts looks in Firefox if the system's DPI is below 96. Firefox, by default, uses 96 and only uses the system's DPI if it is a higher value. To force the system's DPI regardless of its value, type about:config
into the address bar and set layout.css.dpi
to 0.
Note that the above method only affects the Firefox user interface's DPI settings. Web page contents still use a DPI value of 96, which may look ugly or, in the case of high-resolution displays, may be rendered too small to read. A solution is to change layout.css.devPixelsPerPx
to system's DPI divided by 96. For example, if your system's DPI is 144, then the value to add is 144/96 = 1.5. Changing layout.css.devPixelsPerPx
to 1.5 makes web page contents use a DPI of 144, which looks much better.
高解像度ディスプレイについての情報は HiDPI#Firefox を参照してください。
Microsoft Windows のデフォルトフォント設定
以下は Firefox を Microsoft Windows にインストールした時のデフォルトフォント設定です。多くのウェブサイトは Microsoft フォントを使っています。
Proportional: Serif Size (pixels): 16 Serif: Times New Roman Sans-serif: Arial Monospace: Courier New Size (pixels): 13
一般的なユーザーインターフェイスの CSS 設定
Firefox のユーザーインターフェイスは ~/.mozilla/firefox/<profile_dir>/chrome/
内の userChrome.css
や userContent.css
ファイルを編集することで変更することができます (profile_dir は hash.name という形式を取っており、hash は8文字のランダムな文字列です。プロファイルの name は通常 default となっています)。
このセクションでは (ウェブページではなく) Firefox のユーザーインターフェイスを変更する userChrome.css
ファイルについてだけ扱います。
フォントの変更
この設定はグローバルな GTK+ のフォント設定を上書きします。ウェブページには影響を与えません、ユーザーインターフェイスのフォントだけが変更されます:
~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css
* { font-family: "FONT_NAME"; }
ボタンアイコンの隠匿
テキストボタンを有効化:
~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css
.button-box .button-icon { display: none; }
様々なタブボタンの隠匿
These settings hide the arrows that appear to the horizontal edges of the tab bar, the button that toggles the "all tabs" drop-down list, and the plus sign button that creates a new tab.
~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css
/* Tab bar */ .tabbrowser-strip *[class^="scrollbutton"] { /* Hide tab scroll buttons */ display: none; } .tabbrowser-strip *[class^="tabs-alltabs"] { /* Hide tab drop-down list */ display: none; } .tabbrowser-strip *[class^="tabs-newtab-button"] { /* Hide new-tab button */ display: none; }
水平タブ
タブバーをブラウザウィンドウの側面に横に並べて表示するには:
~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css
/* Display the tabbar on the left */ #content > tabbox { -moz-box-orient: horizontal; } .tabbrowser-strip { -moz-box-orient: vertical; /* * You can set this to -moz-scrollbars-vertical instead, * but then the scrollbar will *always* be visible. this way * there is never a scrollbar, so it behaves like the tab bar * normally does */ overflow: -moz-scrollbars-none; } .tabbrowser-tabs { -moz-box-orient: horizontal; min-width: 20ex; /* You may want to increase this value */ -mox-box-pack: start; -moz-box-align: start; } .tabbrowser-tabs > hbox { -moz-box-orient: vertical; -moz-box-align: stretch; -moz-box-pack: start; } .tabbrowser-tabs > hbox > tab { -moz-box-align: start; -moz-box-orient: horizontal; }
ブックマークツールバーを自動で隠匿
~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css
#PersonalToolbar { visibility: collapse !important; } #navigator-toolbox:hover > #PersonalToolbar { visibility: visible !important; }
サイドバーの幅の制限をなくす
~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css
/* remove maximum/minimum width restriction of sidebar */ #sidebar { max-width: none !important; min-width: 0px !important; }
ウェブコンテンツの CSS 設定
このセクションではウェブコンテンツに CSS のカスタムルールを追加できる userContent.css
ファイルについて扱います。このファイルへの変更はブラウザの再起動時に適用されます。
This file can be used for making small fixes or to apply personal styles to frequently visited websites. Custom stylesheets for popular websites are available from sources such as userstyles.org. You can install an add-on such as superUserContent to manage themes. This add-on creates the directory chrome/userContent.css.d
and applies changes to the CSS files therein when the page is refreshed.
他の CSS ファイルのインポート
~/.mozilla/firefox/<profile_dir>/chrome/userContent.css
@import url("./imports/some_file.css");
ドメインの特定部位をブロック
~/.mozilla/firefox/<profile_dir>/chrome/userContent.css
@-moz-document domain(example.com) { div#header { background-image: none !important; } }
PDF ファイルのリンクの後ろに [pdf] を追加
~/.mozilla/firefox/<profile_dir>/chrome/userContent.css
/* add '[pdf]' next to links to PDF files */ a[href$=".pdf"]:after { font-size: smaller; content: " [pdf]"; }
リンクにマウスが乗ったときに画面下に URL を表示
~/.mozilla/firefox/<profile_dir>/chrome/userContent.css
a[href]:hover { text-decoration: none !important; } a[href]:hover:after { content: attr(href); position: fixed; left: 0px; bottom: 0px; padding: 0 2px !important; max-width: 95%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font:10pt sans-serif !important; background-color: black !important; color: white !important; opacity: 0.7; z-index: 9999; }
Firefox 4 の新しいメニューバー/Firefox ボタン
新しい Firefox ボタンとクラシックなメニューバーを切り替えるには:
- if the button is active, check Preferences > Menu Bar, or right click in the toolbar area and check Menu Bar.
- if the menu bar is active, uncheck View > Toolbars > Menu Bar, or right click in the toolbar area and uncheck Menu Bar.
In GNU/Linux, you will just get a plain grey button instead of the new orange one from Windows. However you can change this to either a Firefox icon or the icon followed by the "Firefox" text.
Adding the following to your ~/.mozilla/firefox/userprofile/chrome/userChrome.css
file will place the icon before the text:
#appmenu-toolbar-button { list-style-image: url("chrome://branding/content/icon16.png"); }
Adding the following to the same file will remove the "Firefox" text:
#appmenu-toolbar-button > .toolbarbutton-text, #appmenu-toolbar-button > .toolbarbutton-menu-dropmarker { display: none !important; }
This userChrome.css configuration copies the default Windows Firefox 4+ look and adds an orange background to the button, with a purple background in Private Browsing mode:
#main-window:not([privatebrowsingmode]) #appmenu-toolbar-button { -moz-appearance: none !important; color: #FEEDFC !important; background: -moz-linear-gradient(hsl(34,85%,60%), hsl(26,72%,53%) 95%) !important; border: 1px solid #000000 !important; } #main-window:not([privatebrowsingmode]) #appmenu-toolbar-button:hover:not(:active):not([open]) { -moz-appearance: none !important; color: #FEEDFC !important; background: -moz-linear-gradient(hsl(26,72%,53%), hsl(34,85%,60%) 95%) !important; border: 1px solid #000000 !important; } #main-window:not([privatebrowsingmode]) #appmenu-toolbar-button:hover:active, #main-window:not([privatebrowsingmode]) #appmenu-toolbar-button[open] { -moz-appearance: none !important; color: #FEEDFC !important; background: -moz-linear-gradient(hsl(26,72%,53%), hsl(26,72%,53%) 95%) !important; border: 1px solid #000000 !important; } #appmenu-toolbar-button { -moz-appearance: none !important; color: #FEEDFC !important; background: -moz-linear-gradient(hsl(279,70%,46%), hsl(276,75%,38%) 95%) !important; border: 1px solid #000000 !important; } #main-window #appmenu-toolbar-button:hover:not(:active):not([open]) { -moz-appearance: none !important; color: #FEEDFC !important; background: -moz-linear-gradient(hsl(276,75%,38%), hsl(279,70%,46%) 95%) !important; border: 1px solid #000000 !important; } #main-window #appmenu-toolbar-button:hover:active, #main-window #appmenu-toolbar-button[open] { -moz-appearance: none !important; color: #FEEDFC !important; background: -moz-linear-gradient(hsl(276,75%,38%), hsl(276,75%,38%) 95%) !important; border: 1px solid #000000 !important; }
広告のブロック
userContent.css
を使って広告をブロックする方法については floppymoose.com にサンプルがあります。
その他
その他のヒントと設定。
追加のメディアコーデックの有効化
設定する前に、デフォルトで有効になっていないことには理由があることを覚えておいて下さい。安定に問題があったり、メモリリークが発生することがあります。about:config
を開いて以下のオプションを確認してください:
キー | 値 | 説明 |
---|---|---|
media.mediasource.enabled | true | Media Source Extensions (MSE) の有効化 |
media.mediasource.mp4.enabled | true (デフォルト) | MP4 MSE の有効化 |
media.mediasource.webm.enabled | true | WebM MSE の有効化。Youtube を使用する場合 WebM と Youtube を見て下さい。 |
media.fragmented-mp4.exposed | true | 断片化された MP4 の有効化 |
media.fragmented-mp4.ffmpeg.enabled | true | 断片化された MP4 ffmpeg の有効化 |
media.mediasource.ignore_codecs | true | H.264 MSE などを有効化 (キーは作成してください) |
WebM と Youtube
WebM MSE が有効になっていて Youtube が HTML5 プレイヤーを使うように設定されている場合 (デフォルト)、Youtube は帯域幅を節約するために VP9 動画を使用します。しかしながら、VP9 ではハードウェアアクセラレーションが効きません。ハードウェアの性能があまり高くないときなど、Youtube の動画でハードウェアアクセラレーションを使いたいときは、media.mediasource.webm.enabled
を false に設定することで Youtube は動画のアクセラレーションが幅広いハードウェアで使える H.264 動画をストリーミングします。
WebM (VP9) が有効になっているかどうか確認するには youtube.com/html5 を開いてください。'MSE & WebM VP9' がサポートされていなければ Youtube は H.264 を使用します。
マウスホイールでスクロールする速度
マウスホイールによるスクロール速度のデフォルト値を修正するには (例: スピードアップ)、about:config
を開いて mousewheel.acceleration
を検索してください。利用可能なオプションが表示されるので、以下を修正します:
mousewheel.acceleration.start
を -1 に設定。mousewheel.acceleration.factor
を適当な値に設定 (10 から 20 が普通使われる値です)。
もしくは SmoothWheel add-on をインストールすることでも変更できます。
Firefox 検索バーの検索エンジンの順番を変更
検索エンジンが表示される順番を変えるには:
- 検索エンジンのドロップダウンリストを開いて Manage Search Engines... エントリをクリック。
- 移動したい検索エンジンを選択して Move Up や Move Down で移動します。ドラッグアンドドロップで移動することも可能です。
Abiword や LibreOffice Writer で *.doc を自動的に開く方法
Preferences > Applications を開いて Word Document (または Word 2007 Document の *.docx
) を検索してください。見つけたら、ドロップダウンリストをクリックして Use other... を選択してください。そして Abiword や Writer の実行可能ファイルのパスを指定してください (/usr/bin/abiword
や /usr/bin/lowriter
)。
"I'm Feeling Lucky" モード
検索エンジンによっては "feeling lucky" 機能が存在することがあります。例えば、Google には "I'm Feeling Lucky" があり、DuckDuckGo には "I'm Feeling Ducky" があります。
機能を有効化するには:
- アドレスバーに
about:config
と入力。 keyword.url
という文字列を検索。- 値を検索エンジンの URL に設定。
Google の場合、次のように設定:
https://www.google.com/search?btnI=I%27m+Feeling+Lucky&q=
DuckDuckGo の場合、次のように設定:
https://duckduckgo.com/?q=\
DNSSEC で DNS をセキュア化
DNSSEC のサポートを有効にすることでブラウジングを安全にすることができます。
マグネットプロトコルの関連付けの追加
about:config
で network.protocol-handler.expose.magnet
を false に設定してください。
次にマグネットリンクを開いたとき、Launch Application
ダイアログが表示されます。ダイアログから、使いたい torrent クライアントを選択してください。他のプロトコルも同じように設定できます。
マグネットプロトコルの関連付けを kTorrent (KDE4) に追加
/usr/share/applications/kde4/ktorrent.desktop
のユーザーコピーを ~/.local/share/applications/kde4/
に作成して、Mimetype=
に以下を追加してください:
x-scheme-handler/magnet
~/.config/mimeapps.list
を修正して以下を追加:
x-scheme-handler/magnet=kde4-ktorrent.desktop
[1] を見て下さい。
突然終了してしまうのを防ぐ
Disable Ctrl-Q Shortcut 拡張をインストールすることでブラウザを不注意に閉じてしまうことを防止できます。
もしくはウィンドウマネージャの設定ファイルにルールを追加する方法もあります。例えば openbox なら rc.xml
ファイルの <keyboard> セクションに以下を追加してください:
<keybind key="C-q"> <action name="Execute"> <execute>false</execute> </action> </keybind>
最新版でプラグインが動作しない
Arch はブリーディングエッジなので、最新の Firefox では動作しないプラグインと互換性の問題が起こることがあります (例: Pentadactyl)。可能であれば、ナイトリー/ベータ版をインストールするか、パッケージのダウングレードを見て下さい。
Disable Add-on Compatibility Checks プラグインは新しいバージョンでもちゃんと動くのにプラグインが無効化される問題を解決します。
スクロールがギクシャクしている
Firefox でのスクロールが"ガタガタ"あるいは"ムラがある"と感じられることがあります。MozillaZine が Gentoo でスクロールを修正する設定を投稿していますが、Arch Linux でも同じように直ることが報告されています:
mousewheel.min_line_scroll_amount
を 40 に設定general.smoothScroll
とgeneral.smoothScroll.pages
を false に設定image.mem.min_discard_timeout_ms
を 2100000000 のように大きな値に設定、ただし 2140000000 を超えてはならない。この値よりも上の値に設定してしまうと Firefox は次のエラーを吐きます: "The text you entered is not a number"。image.mem.max_decoded_image_kb
を最低でも 512K に設定
これでスクロールがスムーズになるはずです。
WebRTC で LAN IP アドレスが判明する
WebRTC の peer-to-peer (と JavaScript) によってローカル IP アドレスがウェブサイトに取得されてしまうのを防ぐには、about:config
を開いて media.peerconnection.enabled
を false に設定してください (もしくは アドオン を使って下さい)。
nspawn コンテナの中で Firefox を実行
PID 1 で実行するには:
# systemd-nspawn --setenv=DISPLAY=:0 \ --setenv=XAUTHORITY=~/.Xauthority \ --bind-ro=$HOME/.Xauthority:/root/.Xauthority \ --bind=/tmp/.X11-unix \ -D ~/containers/firefox \ firefox
もしくは systemd-networkd を使って systemd でネットワークを設定したコンテナを起動する場合:
# systemd-nspawn --bind-ro=$HOME/.Xauthority:/root/.Xauthority \ --bind=/tmp/.X11-unix \ -D ~/containers/firefox \ --network-veth -b
コンテナを起動したら、以下のように Xorg ライブラリを実行してください:
# systemd-run -M firefox --setenv=DISPLAY=:0 firefox
1024ビットの Diffie-Hellman 鍵交換を無効化
最近の研究 によると、しばらく前から NSA は1024ビットの Diffie-Hellman を破ったとされています。鍵交換を無効化するには about:config
で以下の設定を false にしてください [2]:
security.ssl3.dhe_rsa_aes_128_sha security.ssl3.dhe_rsa_aes_256_sha
そして how your SSL is を確認してください。