2017/10/30

2017年秋時点のFirefox代替ブラウザを吟味する

これまでFirefoxを主なWebブラウザとして0.8時代から使用してきたが、アドオン関係の事情を主な理由として他のブラウザへの乗り換えを考える必要が出てしまったため、GNU/Linuxで動作する他の幾つかのWebブラウザについて試したことなどをメモしておく。

非常に個人的なメモなので内容は偏っており、既に色々と他のブラウザについて調べている人の役に立つ内容となっているかは不明。

  1. Firefoxの従来のアドオンが動かなくなる日が近付く
  2. Firefoxの派生ブラウザ
    1. Waterfox
    2. Pale Moon
  3. 他のブラウザを試す
    1. Falkon (旧QupZilla)
    2. Vivaldi

Firefoxの従来のアドオンが動かなくなる日が近付く

Firefoxは、2017/11/14に公開される “Quantum” (バージョン57)から従来の同ブラウザ専用の “旧式” アドオンが使えなくなる。今後は新しく提供されている “WebExtenstions” と呼ばれるAPIを用いて作成されたアドオンのみが利用可能となり、他のブラウザにおける拡張機能と(ある程度)共通した作り方で作れるようになることでアドオンの作者が複数ブラウザ向けに拡張を開発しやすくなるというメリットは考えられるものの、これまでと比べるとできることがかなり制限され、利用者の非常に多いアドオンであっても開発打ち切りもしくは機能の制限されたアドオンとなってしまうものが結構あるようだ。将来APIが整備されることで状況が改善される可能性もあるが確実ではない。

バージョン57以上では動作速度が大きく改善されるという情報もあるが、個人的にはアドオンに頼っている部分が大きく、使い勝手が著しく悪化する事態は避けたい。

長期サポート版(ESR)という選択肢もあるが一時しのぎにしかならないことが確実なので、しばらくメインのブラウザを切り替え、Firefoxは様子を見ていくことにした。恐らくは用途・訪問サイトによって(現在Google Chrome(以下Chrome)/Chromiumを特定サイトでのみ使用しているように)ブラウザを使い分けることになると思われるが、本記事では、他の候補となるWebブラウザについてメモしておく。なお、Chrome/Chromiumは機能がシンプルすぎる上に拡張機能でできることにも制約があって個人的には使いづらく、処理速度を重視した特定の使い方に特化していると考えており、メインのブラウザの候補としては考えていない。

以下で扱っているWebブラウザは全て “Do Not Track” ヘッダ(トラッキング拒否)をサーバに送るための設定項目がある。

Firefoxの派生ブラウザ

2つの派生ブラウザが活発に開発されている。いずれも動作速度については本家Firefoxよりも遅いとされているが程度や詳細は不明。ただ、動作速度重視の用途には向かないと思われる。ともにNPAPI形式のプラグインのサポートを継続している。

どちらも2017年10月時点では公式バイナリのビルドにPGOは使用されていない。また、Debian/Ubuntuのパッケージもない。

Waterfox

バイナリはGNU/Linux用も含め、x86_64用のみが提供されている。ダウンロードしたファイルを展開してwaterfox/waterfoxを実行する。

バージョン番号の付き方がFirefoxに近く、ユーザインターフェースの外観も最近の同ブラウザに近いが、いずれもバージョン57からは異なっていく可能性もある。

旧式アドオンのサポートを継続することを表明している上にFirefoxと大きな違いがないため、代替ブラウザとしてまず検討するブラウザとなる。

ユーザインターフェースを日本語で表示するにはメニューの “Preferences” (about:preferences)で “Locale Select” を “Japanese - 日本語” にしてプログラムを再起動する(このロケール切り替え機能は同ブラウザ独自)。

このブラウザはFirefoxから既定のプロファイルをアドオンも含めて(同ブラウザ専用のプロファイルに)インポートできるが、アドオンの設定は初期状態になってしまった(多数のアドオンを使用している場合は移行に手間がかかる)。インポートするプロファイルを選択することはできないが、[ホームディレクトリ]/.mozilla/firefox/profiles.iniを一時的に編集してそれを既定のプロファイルとして後から戻すことはできる。

当面はこちらをメインブラウザとする予定。

Pale Moon

GNU/Linux用バイナリはx86_64とx86(x86_32)向けに提供される。インストーラではなく “bzipped tarball” を使用する場合はダウンロードしたファイルを展開してpalemoon/palemoonを実行する。

言語パックのページで該当バージョン用の言語パックをインストール後にabout:configgeneral.useragent.localeの値をja-JPとしてからプログラムを再起動する。

バージョン番号の付き方が独自になっている。

ユーザインターフェースが古い(バージョン4から28の時期の)Firefoxに近く、同ブラウザのバージョン4のときに登場した “Firefox” ボタンに相当する “Pale Moon” ボタンがある(メニューボタンはないが、 “Toolbarize Menu Button” アドオンによりこれをメニューボタンにもできる)。Firefoxのバージョン29で搭載された “Australis” ユーザインターフェースに対応する予定はないとしており、これを強く拒絶している。

FirefoxのGeckoレンダリングエンジンの代わりに “Goanna” という派生版を独自に開発し、採用している。

タブが初期設定では下部に表示されるが、 “タブを上部に表示” というメニュー項目を選択することで上部にも表示できる。

アドオンの互換性についてはFirefoxのバージョン24相当とのことで、動かないものもある。一方でPale Moon独自のアドオンも存在し、これらはブラウザ側のバージョンが対応していれば基本的に動作する。アドオン一覧画面において青い丸で表示されるのがPale Moon用で、赤い丸で表示されるのがFirefox用(互換モード動作)となる。Firefox用の “FireGestures” などは互換モードで問題なく動作した。

プロファイルの移行については既にFirefoxとかけ離れている部分が多いためにできない(ここが厳しい)が、ブックマークはFirefoxでHTMLファイルにエクスポートしたものを取り込める。

Google検索を検索バーから行うには、同バーをクリックしたメニューから “検索バーの管理” を選択してダイアログ内の “検索エンジンを追加” から “Google” を選択して “追加” を選択する。

他のブラウザを試す

Falkon (旧QupZilla)

Qt 5の “WebEngine” と呼ばれる、Chromium由来のエンジンを用いたブラウザ。起動時間が非常に短い。2017年夏にKDEプロジェクトの一部となった(Ubuntu 17.10時点ではqupzillaのパッケージ名でインストールできるが、将来パッケージ名がfalkonなどになる可能性がある)。以下はQupZillaのバージョン2.1.2時点について記述したものとなる。

シンプルな部類だが機能もそれなりにある。ユーザインターフェースのレイアウトは最近のFirefoxに近いように見えるかもしれないが、中身は全く別物で使い勝手も微妙に異なる。拡張機能の仕組みもあるが、このブラウザ専用で、付属しているものについて有効/無効を切り替えることができるだけとなる。拡張によってはカスタマイズ項目がある。

マウスジェスチャが拡張で使用でき、ジェスチャ時に使用するマウスボタンも変更できるが、機能の割り当てが固定で、できることも限られるという点が非常に厳しい(今後カスタマイズ可能になることを期待)。既存のジェスチャの割り当てを入れ替えるだけで事足りる場合はsrc/plugins/MouseGestures/mousegestures.cppMouseGestures::[方向を示す文字列]Gestured()形式の複数のメンバ関数の中の該当するものの名前を入れ替えてビルドする方法も考えられるが手間がかかる。関数の中身をいじって既存のジェスチャを無効化することもできそうだが、手間がかかるのは変わらない。

また、ロッカージェスチャ(このブラウザでは “ロッカーナビゲーション” と呼ばれる)としては右ボタンを押しながら左クリックで前のページに戻り、左ボタンを押しながら右クリックで進む(一度戻ったところを進み直す)という機能があり、ボタンは固定されているが有効/無効は切り替え可能。

ユーザエージェント(UA)の設定機能が内蔵されており、複数のユーザエージェントの一覧を作成してサイトごとに自動的に切り替えるといったこともできる。ユーザエージェントによっては正しく利用できないサイトもあるので、この自動切り替えは便利。

ブックマークツールバーの代わりに “instant Bookmarks ToolBar” と呼ばれるものを有効にすると、新しいタブを開いたときのページでのみブックマークツールバーが表示できる(Chrome/Chromiumでも同様のことができる)。

Greasemonkeyの拡張を有効にすることで同拡張向けのユーザスクリプトが使用できるようになる。

検索エンジンの設定はChrome系のブラウザに近い形で検索文字列が展開される文字列 “%s” を1つ含むURL文字列を用いて追加でき、右上の検索エンジンの一覧からエンジンを選択すると、Firefoxのように検索したい内容をアドレスバーにそのまま入力してその(現在選択されている)エンジンで検索できる。現在選択されていないエンジンで検索するには検索エンジン設定で “ショートカット” として設定した文字列の後ろに半角スペースを入れて検索したい文字列を続けて入力して検索する。

タブマネージャの拡張を使うとウィンドウと各ウィンドウ内のタブの一覧がサイドバーもしくは専用ウィンドウに表示でき、開かれている全ページをホストやドメインごとに表示することができる。多数のページを同時に開くときに便利。

Debian/Ubuntuで “Speed Dial” のサムネイル画像が更新されない場合はqml-module-qtwebengineパッケージをインストールすると次に “Speed Dial” を開いたときに画像が更新されているが、Ubuntu 17.10では画像の手動更新を試みても読み込み中の表示がずっと続く(新しく “Speed Dial” を開かないと更新されない)。

Qt 5の “WebEngine” はPPAPI版Flashをサポートしており、Qt WebEngineのAPIリファレンスにプラグイン探索ディレクトリなどの情報がある。Debian/Ubuntuではpepperflashplugin-nonfreeパッケージをインストールすればFlashが使えるようになる。

今後常用できるかどうかは微妙だが、拡張機能の改善や慣れによっては使いやすいものになるかもしれない。

Vivaldi

Chrome系のブラウザとしてVivaldiという高機能なブラウザがある。企業の製品だがソースが公開されているページもある。GNU/Linux版もあり、バイナリはx86_64とx86(x86_32)のみ提供される。

これも内部的にはChrome/Chromium系で、Firefox系とは大きく異なる。拡張はChrome/Chromium用のものがインストールできるが、全てが動作するわけではなく、常用しているChrome用の拡張の中には動かないものがあった。

マウスジェスチャが標準機能として使用でき、ジェスチャのカスタマイズもできる点はありがたいが、ボタンは右で固定となっており、変更はできない(惜しい部分)。ロッカージェスチャはFalkon(QupZilla)と同様で、GNU/Linux版でも正しく動作している。

タブの管理についての標準機能が充実しており、一つのタブに複数のタブを入れてグループ化できる。タブの使い方(どのようなページを幾つ開くか)によっては役に立ちそう。

Webページをサイドバーのように “パネル” として表示する機能や、サイドバーにメモを書けたりする機能などが新鮮で、用途によっては役に立ちそうな気もするが、自分はまだ使いこなせていない。

Chrome系ブラウザと同様、検索文字列に展開される “%s” を含むURL文字列による検索エンジンの設定が可能となっており、Tabキーは使わずに “ニックネーム” とした文字列の後ろに半角スペースと検索文字列を続けて検索する。

履歴の表示において、開いたページごとに読み込んだ回数(2回以上の場合)が表示され、日ごとのページの合計読み込み回数も表示される。履歴の表示はかなり充実していて見やすく、統計グラフも表示される。

Chromeの代わりに使うことができればよかったのだが、同ブラウザ用拡張の互換性が不完全なところやマウスジェスチャの設定のボタンが固定なところなど自分に合わない部分があったり、高機能なのに使いこなせていないところがあったりで、今後常用するかどうかは不透明。

使用したバージョン:
  • Waterfox 55.2.2
  • Pale Moon 27.5.1
  • QupZilla 2.1.2
  • Vivaldi 1.12