Firefox/設定

提供: ArchWiki
2015年10月11日 (日) 23:59時点におけるKusakata (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

関連記事

このページでは Firefox の高度な設定オプションとパフォーマンスを上げる設定を説明します。

目次

パフォーマンス

Firefox のパフォーマンスを向上させる方法には、Firefox の実行中に入力できるパラメータ、開発者によって決められている設定の変更、もしくは外部プログラムやスクリプトによる高度な方法が存在します。

ノート: かならず最新版の Firefox を使って下さい。

Firefox の高度なオプション

このセクションではパフォーマンスに関する Firefox の高度なオプションについて説明しています。詳しい情報は Mozillazine フォーラムの投稿 を見て下さい。

OpenGL Off-Main-Thread Compositing (OMTC) の有効化

警告: 特定のハードウェアで OpenGL OMTC が無効になる場合、おそらく安定に問題があったり、システムリソースの消費が激しかったり、ドライバーにバグが存在するなどの可能性があります。強制的に有効化するときは自己責任で行って下さい。
ノート: Firefox バージョン 40 から基本的なソフトウェア 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 を有効にします。

アンチフィッシングの無効化

ノート: Deleting files from your profile folder is potentially dangerous, so it is recommended that you back it up first.

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 レスポンダに問い合わせてデジタル証明書の有効性をリアルタイムに確認する"
警告: OCSP を無効化した場合、中間者攻撃から無防備になります。Wi-Fi や VPN などの攻撃されるおそれがある接続を使用する場合は、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 データベースのデフラグ

警告: This procedure may damage the databases in such a way that sessions are not saved properly.

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.

Sample size differences comparison
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.cssuserContent.css ファイルを編集することで変更することができます (profile_dirhash.name という形式を取っており、hash は8文字のランダムな文字列です。プロファイルの name は通常 default となっています)。

ノート: The chrome/ folder and userChrome.css/userContent.css files may not necessarily exist, so they may need to be created.

このセクションでは (ウェブページではなく) 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;
}
ノート: You need to create both the chrome directory and userChrome.css, if they do not already exist.

広告のブロック

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

ノート: 任意の依存パッケージ gst-libavgst-plugins-good をインストールしている場合、Firefox は H.264 のサポートを得るため、Youtube はデフォルトで H.264 動画をストリーミングします。

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" があります。

機能を有効化するには:

  1. アドレスバーに about:config と入力。
  2. keyword.url という文字列を検索。
  3. 値を検索エンジンの 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.

ノート: This will be effective for every application used under a graphic server.

最新版でプラグインが動作しない

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:

  1. mousewheel.min_line_scroll_amount を 40 に設定
  2. general.smoothScrollgeneral.smoothScroll.pagesfalse に設定
  3. image.mem.min_discard_timeout_ms を 2100000000 のように大きな値に設定、ただし 2140000000 を超えてはならない。この値よりも上の値に設定してしまうと Firefox は次のエラーを吐きます: "The text you entered is not a number"。
  4. image.mem.max_decoded_image_kb を最低でも 512K に設定

Now scrolling should flow smoothly.

WebRTC で LAN IP アドレスが判明する

警告: この設定は WebRTC を無効化します。

WebRTC の peer-to-peer (と JavaScript) によってローカル IP アドレスがウェブサイトに取得されてしまうのを防ぐには、about:config を開いて media.peerconnection.enabledfalse に設定してください (もしくは アドオン を使って下さい)。

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

参照