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 を実行
- 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 のキャッシュはメモリキャッシュとディスクキャッシュに分けられており、ディスクキャッシュを使用している場合、オブジェクトがロードされる度にディスクに書き込みが行われ、また、同時に古いオブジェクトの削除もされるために、頻繁にディスクの書き込みが発生します。
- Turn on the following option under the advanced tab in preferences -> Network -> Validation: "Override automatic cache management" and specify zero in "Limit cache to".
セッションを保存する間隔を長くする
Firefox のセッションは15秒ごとに現在の状態 (開かれている url、cookie、履歴とブックマーク) を自動的に保存しています。これはユーザーが必要とするところよりも少し頻繁すぎる嫌いがあり、頻繁にディスクアクセスを発生させています。
セッションの保存間隔の設定は about:config
ページから変更できます (sessionstore を検索してください)。
- browser.sessionstore.interval 300000
即座にページをレンダリング
Mozilla applications render web pages incrementally - they display what's been received of a page before the entire page has been downloaded. Since the start of a web page normally doesn't have much useful information to display, Mozilla applications will wait a short interval before first rendering a page. This preference controls that interval. Note that if you are on slower connections (dial up) changing this setting might make web pages load for longer times even though the page appears faster.
This setting can be created in the about:config
page as
- nglayout.initialpaint.delay with a value of 0.
その他の設定
このセクションでは 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
Finally, invoke upx
, applying the best possible compression level:
# upx --best /usr/lib/firefox/firefox
プロファイルの SQLite データベースのデフラグ
In Firefox 3.0, bookmarks, history, passwords are kept in an SQLite databases. SQLite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve start-up and some other bookmarks and history related tasks is to defragment and trim unused space from these databases.
profile-cleanerAUR does just this.
SQLite database | Size Before | Size After | % change |
---|---|---|---|
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 の有効化 |
WebM と Youtube
If WebM MSE is enabled when Youtube is set to use the HTML5 player by default, Youtube will use VP9 video by default to save bandwidth. However, hardware acceleration is not available for VP9, if you want to use hardware acceleration with youtube video especially if you have less capable hardware consider setting media.mediasource.webm.enabled
to false to make youtube stream H264 video which video acceleration is widely available for.
To verify if WebM (VP9) is enabled go to youtube.com/html5 if 'MSE & WebM VP9' is not supported youtube will use H264.
マウスホイールでスクロールする速度
マウスホイールによるスクロール速度のデフォルト値を修正するには (例: スピードアップ)、about:config
を開いて mousewheel.acceleration
を検索してください。利用可能なオプションが表示されるので、以下を修正します:
mousewheel.acceleration.start
を -1 に設定。mousewheel.acceleration.factor
を適当な値に設定 (10 から 20 が普通使われる値です)。
もしくは SmoothWheel add-on をインストールすることでも変更できます。
Firefox 検索バーの検索エンジンの順番を変更
検索エンジンが表示される順番を変えるには:
- Open the drop-down list of search engines and click Manage Search Engines... entry.
- Highlight the engine you want to move and use Move Up or Move Down to move it. Alternatively, you can use drag-and-drop.
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 のサポートを有効にすることでブラウジングを安全にすることができます。
マグネットプロトコルの関連付けの追加
In about:config
set network.protocol-handler.expose.magnet
to false.
The next time you open a magnet link, you will be prompted with a Launch Application
dialogue. From there simply select your chosen torrent client. This technique can also be used with other protocols.
マグネットプロトコルの関連付けを kTorrent (KDE4) に追加
Create a user copy of /usr/share/applications/kde4/ktorrent.desktop
to ~/.local/share/applications/kde4/
, and append to Mimetype=
x-scheme-handler/magnet
Modify ~/.config/mimeapps.list
and append:
x-scheme-handler/magnet=kde4-ktorrent.desktop
[1] を見て下さい。
突然終了してしまうのを防ぐ
The Disable Ctrl-Q Shortcut extension can be installed to prevent unwanted closing of the browser.
An alternative is to add a rule in your window manager configuration file. For example in openbox add:
<keybind key="C-q"> <action name="Execute"> <execute>false</execute> </action> </keybind>
in the <keyboard> section of your rc.xml
file.
最新版でプラグインが動作しない
Arch はブリーディングエッジなので、最新の Firefox では動作しないプラグインと互換性の問題が起こることがあります (例: Pentadactyl)。可能であれば、ナイトリー/ベータ版をインストールするか、パッケージのダウングレードを見て下さい。
Disable Add-on Compatibility Checks plugin should take care of spurious compatibility issues when the plugins get disabled, even though they work just fine with the new version.
スクロールがギクシャクしている
Scrolling in Firefox can feel "jerky" or "choppy". A post on MozillaZine gives settings that work on Gentoo, but reportedly work on Arch Linux as well:
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 に設定
Now scrolling should flow smoothly.
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