Last update: 2010-02-17
表題のとおり、Mac OS 10.6 Snow Leopard 以上のサービスで利用できる Firefox と Thunderbird のセーフモード起動サービスメニューを作ってみた。
Firefox や Thunderbird の不具合はプロファイルに原因がある場合が多いわけで、セーフモード起動で問題が再現するかを確認するのはトラブルシューティングの定石だ。慣れていれば Terminal.app からちゃちゃっとやってしまうのだが、いちいち Terminal.app を起動するのも面倒くさい。他の人に説明するのも面倒くさい (ぉ
※しかし、Mozilla はセーフモード起動を廃止するなんて物騒な話もあるのだけど、とりあえず Firefox 3.7? では残っていそうなので、需要はあるんではなかろうか。
そんな事を考えている時にインスパイアされたのが、うむらうすさんのAutomatorのサービスはユニバーサルパレットの代わりになるだった。(張り合おうなんて思ってもおりませんので〜)
Firefox 3.5 や Thunderbird 3 ではサービスメニューが使えるのだから、これを利用しないてはない!といったわけだ。
ということで、Mac OS X 10.6 以上で Firefox 3.5 または Thunderbird 3 以上のバージョンを利用しているユーザに限定した内容です。Mac OS X 10.5 と 10.4 のユーザは利用できないので注意を。
あともう一つ重要な条件。これは Firefox または Thunderbird をデフォルトディレクトリのアプリケーションにインストールしていて、尚且つ Firefox や Thunderbird を複数起動していないことが絶対条件なので注意のこと。
デフォルトディレクトリにアプリケーションが存在しない場合や複数起動している際にスクリプトを実行すると、セーフモード起動に移った時点でアプリケーションを終了できなくなることがある。そういった環境の方は以前から公開している 同時起動 AppleScript を利用すしていただきたい。
まぁ、スクリプトをちょこっと修正すれば使えたりもするのだが…。
まずはインストール。
Safemode_Service.zip をダウンロード/解答し、中の Service フォルダをご自分のホーム→ライブラリの中にコピーするか、すでに Service フォルダが存在する場合は Firefox_Safemode01.workflow と Thunderbird_Safemode01.scpt の2つを、その中にコピーする。これで準備完了。上記2つのワークフローの詳細はページ下部をご覧いただきたい。
使い方は簡単。起動している Firefox または Thunderbird メニューのサービスから (Application Name)_Safemode 項目を選択する。
するとアプリケーションを終了するようダイアログが表示される(これは仕様)。Firefox の場合は開いているタブの処理を聴いてくる。表示しない設定やタブが一つの場合、それと Thunderbird は即終了する。
アプリケーションが終了すると引き続きセーフモード起動ダイアログを表示するので、選択項目やボタンから必要な処理を続ける。
セーフモードで起動後は不具合の再現性確認やアドオンの管理を行う。
で、既知の問題というか、現状で回避できていないこと。サービスメニューを実行すると「妙な間があく」こと。これは何故でしょうね??ワークフロー内の AppleScript を実行型アプリケーションで保存して使用すると、セーフモード起動のループが発生する。なのでしないように。複数起動している場合はサービスメニューのセーフモード起動を使用しないこと。理由は上に書いたとおりで、何が起きても知らないよ。ナイトリービルドユーザは AppleScript を修正してくだされ。その他、もしも Mozilla が現在のセーフモード起動を廃止した場合はワークフローも削除するように。
お願い:スクリプトは褒められたものじゃないので、こうすれば良くなるなどのご意見をいただければ幸いです。