ポータブルブラウザ X-Iron から MacType に対応した Chromium 派生ブラウザ 「CentBrowser」 に乗り換えました
長い間、X-Iron というインストール不要の Chromium 派生ポータブルブラウザを使っていました。
2017年4月に バージョン 57 に更新されたことに伴い、しばらく更新してなかった旧バージョンから移行しようと作業を進めていましたが、今までできたプロファイルフォルダの移行すると起動時にエラーとなってしまい、使うことができなくなってしまいました。
また X-Iron 起動時に 「プロフィールエラーが発生しました」 というエラーメッセージが不定期に発生して、設定した内容が読み込まれないなどの不具合があり、これらの問題を解決することができなかったため、諦めて別のブラウザソフトに乗り換えることに。
乗り換え先のブラウザソフトの条件は、使い慣れた Chromium 派生ブラウザでポータブル版があること、MacType でフォントがきれいに表示できる条件で調べてみたところ、CentBrowser というブラウザが合致しましたので、こちらに乗り換えてみました。
X-Iron 57 プロフィールエラー発生、未解決
2017年4月に X-Iron バージョン 57 が公開されました。データ移行のためバージョン 46 のプロファイルデータをフォルダごと移行しようとしましたが、起動時にエラーとなってしまいできませんでした。(HTML 形式のお気に入りインポートは問題なし)
また、何も入れていないまっさらな状態で起動時に高確率で 「プロフィールエラーが発生しました」 というメッセージが表示されてしまい、設定した内容を読み込んだり設定を保存することができないという致命的な問題に遭遇。
ネットで見つけた対処方法をやっても効果はなく、仕方なく別のブラウザソフトに乗り換える流れとなりました。
CentBrowser 64bit ポータブル版に乗り換え
X-Iron から乗り換えるブラウザソフトの条件として、「Chromium 派生ブラウザ(使い慣れているので)」、「ポータブル版があること(インストールするタイプは避けたい)」、「MacType でフォントがきれいに表示できること(最近のブラウザは MacType が使えないものが多い)」 を軸に探したところ、これらの条件にあったのが CentBrowser でした。
ダウンロードして動作や使い勝手を確認してみます。
CentBrowser のトップページからファイルをダウンロードできますが、こちらは 32bit インストーラーファイルです。ポータブル版や 64bit 版をダウンロードしたい場合は、History ページからダウンロードします。
今回は 64bit ポータブル版(64-bit Portable)をダウンロードします。
インストーラー版で CentBrowser をインストールした場合、「※ C:\Users\%username%\AppData\Local\CentBrowser
」 にプロファイルデータの 「User Data」 フォルダが作成されそこに保存されるようになります。
※ 使用している PC の Windows ユーザープロファイルフォルダにはシンボリックリンクやジャンクションは設定していません。

ポータブル版 CentBrowser を展開・解凍して起動した場合、chrome.exe と同じ階層に 「User Data」 プロファイルフォルダが作成されます。
ポータブル版 CentBrowser を使っていても、「C:\Users\%username%\AppData\Local\CentBrowser
」 にプロファイルフォルダ 「User Data」 が勝手に作成されますが、中身は空フォルダとなっていました。(正確にはもう一つ Crashpad という名前の空フォルダが入っているだけです)
MacType を動作させるため、CentBrowser を起動してアドレス欄 に 「chrome://flags/
」 と入力して試験運用機能のメニューページを開きます。
「DirectWrite 試験運用版の DirectWrite フォントレンダリングシステムの使用を有効にします。」 がグレーアウトになっていますので、「無効にする」 をクリックします。
「DirectWrite 試験運用版の DirectWrite フォントレンダリングシステムの使用を有効にします。」 が画像のような状態になれば MacType が動作してフォントがきれいに表示されるようになります。
なお、いままでブラウザのユーザーインターフェース部分に MacType を機能させるために、「disable-directwrite-for-ui」 をショートカットの起動オプションで指定する必要がありましたが、こちらの設定は不要です。
MacType が動作している CentBrowser上で表示した Wikipedia の味噌汁 ページのスクリーンショットです。
インストールしてあるのは MacType (1.2016.904.0)のみです。特別な設定はしておらず、また CTP や MacType 非公式パッチ (MacType Unofficial Patch) はインストールしていません。
今のところ、ブラウザ上でフォント文字が欠けるような症状は確認していません。 → DirectWrite の設定を変更した場合、Web 印刷プレビューおよび印刷結果で文字が表示されない現象を確認しました。印刷時に文字が表示されなくなった場合、DirectWrite の設定を元に戻してみてください。
CentBrowser 高速化設定
試験運用機能メニューページ (chrome://flags/
) 開いて、下記サイト情報を参考に CentBrowser の高速化設定を行いました。
ブラウザを乗り換えた際に HDD から SSD に CentBrowser を置いたことで、最初から高速ストレージデバイスの恩恵を受けられる状態にしています。ブラウザの高速化設定の有無による速度比較はしていないので、この高速化設定がどこまで有効なのかはわかりません。
このブラウザ特有の問題かわかりませんが、ページが表示される際にまれにエラーになることがあります。再読み込みで問題なく表示できますが、高速化設定の影響かどうかわかりません。
試験運用機能メニュー(chrome://flags/
) で 新たにわかった CentBrowser 高速化 を設定することでページエラーが発生しなくなったので、ページエラーが頻繁に発生しているようであれば試してみてください。
chrome://flags/
) CentBrowser 高速化設定一覧 (アップデートにより非表示・無効化されてなくなっている場合があります)- ソフトウェアレンダリングリストをオーバーライド (Override software rendering list)
- 組み込みのソフトウェアレンダリングリストを上書きし、サポートされていないシステム設定で GPU アクセラレーションを有効にします。 #ignore-gpu-blacklist
- Disabled → Enabled
- PNaCl Subzero を強制する (Force PNaCl Subzero)
- すべての pexe ファイルに PNaCl の高速 Subzero トランスレータを使用するよう強制します。 #force-pnacl-subzero
- Disabled → Enabled
- タブ / ウィンドウを高速に閉じる (Fast tab/window close)
- タブ/ウィンドウを高速に閉じられるようにします(タブの onunload js ハンドラを GUI とは別に実行します)。 #enable-fast-unload
- Disabled → Enabled
- ハイパーリンク監査 (Hyperlink auditing)
- ハイパーリンク監査の ping を送信します。 #disable-hyperlink-auditing
- Enabled → Disabled
- MHTML としてページを保存 (Save Page as MHTML)
- ページを MHTML 形式で保存できるようにします。MHTML は、HTML とすべてのサブリソースを含む単一のテキストファイルです。 #save-page-as-mhtml
- Disabled → Enabled
- 試験運用版の QUIC プロトコル (Experimental QUIC protocol)
- QUIC プロトコルのサポート(試験運用中)を有効にします。 #enable-quic
- Disabled → Enabled
- HTTP でのシンプルキャシュ (Simple Cache for HTTP)
- HTTP 用のシンプルキャッシュは新しいキャッシュ機能です。ディスクスペースの割り当てにファイルシステムを使用します。 #enable-simple-cache-backend
- Disabled → Enabled
- document.write 経由で読み込まれるスクリプトをブロックする (Block scripts loaded via document.write)
- document.write 経由でメインのフレームに挿入される第三者パーサーブロックスクリプトを取得できないようにします。 #disallow-doc-written-script-loads
- Disabled → Enabled → Default
- Brotli コンテンツ エンコード (Brotli Content-Encoding.)
- Brotli コンテンツ エンコードのサポートを有効にします。 #enable-brotli
- Disabled → Enabled
- FontCache スケーリング (FontCache scaling)
- レイアウトを高速化するために、レンダラのキャッシュ フォントを再利用してフォントの別サイズを表示します。 #enable-font-cache-scaling
- Default → Enabled
- Only Auto-Reload Visible Tabs
- 参考情報 #enable-offline-auto-reload-visible-only
- Default → Enabled
- GPU rasterization
- 参考情報 #enable-gpu-rasterization
- Default → Enabled
- Number of raster threads
- 参考情報 #num-raster-threads
- Default → 4
- Experimental Web Platform features
- 参考情報 #enable-experimental-web-platform-features
- Disabled → Enabled → Disabled
- 私の使っている環境ではグーグル検索や画像検索画面によってマウスやキーボードの画面スクロールがまったく効かなくなることがありました。試験運用機能メニュー(
chrome://flags/
)でスクロールがおかしくなった場合は Experimental Web Platform features(#enable-experimental-web-platform-features) が Enabled になっていないかどうか確認してください。
試験運用版の JavaScript コンパイルパイプラインV8 を有効にして、JavaScript の実行に試験運用版の Ignition インタープリタと TurboFan コンパイラを使用します。 #enable-v8-future既定 → 有効
スクロール予測スクロール時に指の行く先を予測します。指がその位置に移動する前にフレームをレンダリングする時間を確保できます。 #enable-scroll-predictionDisabled → Enabled
「stale-while-revalidate」 キャッシュ指令を有効にする「キャッシュ制御: stale-while-revalidate」指令の試験運用を有効にします。有効にすると、サーバーでは待ち時間短縮のため一部リソースの再確認をバックグラウンドで行うことを指定できるようになります。 #enable-stale-while-revalidate既定 → 有効
V8 キャッシュモードV8 JavaScript エンジンのキャッシュモード。 #v8-cache-options既定 → V8 コンパイラデータをキャッシュする
CacheStorage の V8 キャッシュ戦略V8 JavaScript エンジンの CacheStorage で使用するスクリプトのキャッシュ戦略です。 #v8-cache-strategies-for-cache-storage既定 → 積極的
リソースが少ない場合に IPC 最適化を読み込めるようにします。リソースが少ない場合に IPC 最適化を読み込めるようにします。 #enable-loading-ipc-optimization-for-small-resourcesDisabled → Enabled
以下、私が今まで知らなかった情報のメモです。
ブラウザ高速化とは別に Chrome のプロセス数を抑えて使用するメモリを節約する方法があります。以前より Chrome 系ブラウザに効果的な内容で、CentBrowser でも設定することができました。
ショートカットの起動オプションに 「--renderer-process-limit=(数字)」(数字の部分は任意)を入れると、起動するプロセス数を指定した数字で制限できます。ただ、設定した数字+2〜3 ほどが最大プロセス数となるようです。
メモリを節約できるメリットがありますが、レンダリングなどの処理が遅れたりプロセスがクラッシュした場合、そのプロセスにあるタブ・拡張機能が巻き添えを食らってしまうというデメリットがあります。メモリが潤沢にある環境なら、設定しないというのもありかもしれません。
CentBrowser 使用感
X-Iron バージョン 46 という古いバージョンからの乗り換えですが、比べてみて良かった点や特長をまとめてみました。
- 数少ない MacType 対応ブラウザ
- ホーム、ブックマーク、ダウンロード、タブ復元、ミュート、アバターボタンなどを好みに応じて表示・非表示。アバターボタン(最小化ボタンの横)は特に邪魔だったので非表示にできる点は大きい
- 内蔵ダウンローダーにより別タブを開かなくても、ダウンロードボタンからダウンロード状況、履歴の確認・削除ができる
- タブの形を台形・四角形の選択が可能
- 終了時に閲覧履歴を消去できる
- 新しいタブのページ内容を好きにカスタマイズできる
- メモリの最適化を自動的に行うオプション設定がある →
動画再生やライブストリーミング配信ではノイズが入る可能性がある - タブに関する豊富なオプションで、タブのサイズやタブの動作などを細かく設定できる
- 「スーパードラッグ」 によりクリックボタンで 4つまでの基本的なマウスジェスチャーが設定可能
- 「マウスジェスチャー」 が標準搭載
- ポータブル版でも CentBrowser 本体と内蔵 Flash Player の手動・自動更新ができる(関連記事)
豊富なオプション設定、マウスジェスチャー標準搭載などが備わったことにより、使いたい機能のインストールや設定の手間がだいぶ省けました。
また、ブラウザ本体や Flash Player の更新機能もあるため、まだ使ってはいないので何とも言えませんが、手動でファイルを入れ替える手間なども省けて楽に更新できそうです。
以前使っていた機能拡張(Extensions)も CentBrowser で同等の機能が実装されて、好きなように設定できるのも便利です。
以下の機能拡張(Extensions)が便利でしたので個人的におすすめです。
- Session Buddy
Session Manager から乗り換え。豊富なセッション管理機能により、セッションの手動・自動保存でタブを簡単に復元できるほか、セッション情報の追加・編集・バックアップが可能
- Link Blanker
LinkOpenNewTab がなくなってしまったので乗り換え。リンク先のドメインを判断して、同じタブで開くか別のタブで開くかを制御するため導入
- Pin all tabs
開いているタブの一括固定・固定解除が可能
- Pasty
クリップボードにコピーした複数の URL を一気に開くときに使います。1個ずつタブで開く手間から解放されます
- Create Link
ブログでよく使う HTML タグ書式で URL や画像リンクを一発で作成。今までコピー&ペーストや手入力で時間をかなり割いていたのでだいぶ楽になりました(使い方 参考サイト)
- Google Publisher Toolbar
AdSense 自己クリック防止のため導入
CentBrowser を使って気になった点は 3つ。
1 つは CentBrowser を終了させたときにタスクマネージャーにプロセスが残ってしまう現象があったこと(タスクマネージャーから強制終了で対処)。「--renderer-process-limit」 を指定していない状態で発生したので、現在は 「--renderer-process-limit」 のプロセス数を指定して様子見。タブをかなり頻繁に開いたり閉じたりしてるとプロセスが残ってしまうような感じがします。 → 最新バージョンで終了後プロセスが残ることは少なくなりました、がたまにプロセスが残ることがあります。
2つ目は開いたタブがページエラー表示になってしまうことがあること。(再読み込みをすれば正常に表示) → CentBrowser 高速化設定 で解決できるかもしれません。
3 つ目は起動時に開くタブ(ページ)について。X-Iron を使っていた時はよく使うタブを固定して、オプションで 「前回開いていたページを開く」 に設定することで、常に固定したタブを開く設定をしていました。
CentBrowser でも同じ設定をした際に、起動時に固定したタブとは別に、どういうわけか最近閉じたタブが開いてしまうことがあります(開かない時もあります)。また、固定したタブの順番が入れ替わってしまうという現象もありました。Session Buddy のタブの復元で対応できますが、起動するたびに毎回この作業をするのは面倒です。
その後、機能拡張の FooTab (ブラウザ起動時と同時にタブのページ読み込みをブロックして、起動処理を軽くするアドオン) と、CentBrowser の設定にある 「セッションの遅延読み込みを有効にする」 との組み合わせが怪しいと思い FooTab を無効にしてみたり、「セッションの遅延読み込みを有効にする」 を無効・有効と切り替えてみたりしましたが、効果ありませんでした。
「特定のページまたはページセットを開く」 にしてあらかじめ表示しておきたいページを登録する方法をやってみましたが、固定したタブがあるとそのまま残ってしまい、二重に同じページが開いてしまうため却下。
「新しいタブページを開く」 ではタブを固定しておけば、ブラウザを起動したときに空白のタブが必ず一つは開いてしまうものの、固定したタブ情報を維持することができます。ただし、ブラウザを閉じた状態で別のアプリからリンクを開いた場合、固定したタブはクリアされてしまうようです。
どれも一長一短ですが、いまのところ 「前回開いていたページを開く」 に設定しつつ、ブラウザを閉じる前に Session Buddy でタブ情報を保存。ブラウザ起動時にタブの表示順番が狂ってしまった場合、Session Buddy でセッションを復元する方法で対応するようにしています。