立ち上がらなくなったFirefoxの復旧方法[追記あり]
以前、「すでに別のfirefoxを開いています。同時に複数のFirefoxを開くことはできません。」と言うエラーメッセージが出て、Firefoxの設定が吹っ飛んだ事があります。この時は、復旧を試みましたが、ダメでした。ブックマークの設定は復旧できた物の、cookieの設定やパスワードの設定がなくなって、参りました。
実は昨日、またも「すでに別のfirefoxを開いています。同時に複数のFirefoxを開くことはできません。」と言うエラーが発生してしまったのです。原因はわかりません。
Firefoxの設定ディレクトリがおかしくなっている事には間違いないので、そのディレクトリにあるファイルを少しずつ消しながら(他のディレクトリにファイルを移動しながら)、様子を見てみました。これは、前回と同じ復旧方法で、やはりうまく行きませんでした。
それで、あきらめて、設定ディレクトリを作り直す事にしました。Firefoxの設定ファイルである、"~/ライブラリ/Application Support/Firefox/profiles.ini"をいったん削除(名前を変更)し、Firefoxを起動しました。そうすると、"profiles.ini"が再び作られ、Firefoxは普通に起動します。
Firefoxのブックマークやcookie、パスワードが入っているディレクトリは、"~/ライブラリ/Application Support/Firefox/Profiles/???-2.default"です("???-2"はランダムな名前が入ります)。元の設定ディレクトリは、"~/ライブラリ/Application Support/Firefox/Profiles/???-1.default"に入っているとします。この"???-1.default"の中身のデータを全て、"???-2.default"の中に移動して、Firefoxを再起動しました。(この時、コピー元とコピー先を間違えないように、十分注意して下さい。)
そうしたところ、おかしくなっているはずの設定ディレクトリのデータなのに、Firefoxは元の設定で立ち上がってくれました!! ブックマーク、cookie、パスワードは、そのまま生きています。拡張機能もそのまま残っていました。やったー!!
ただ、拡張機能でおかしな動作になってしまった物もあったので、拡張機能はいったん削除して、再度インストールした方が良さそうです。今回は、LiveClickと言うRSS管理拡張機能がおかしくなっていました。
今回は、Mac OS X 10.4.11の場合ですが、もし、Windowsで同じ状況に陥っても、同じような復旧方法で解決できるのではと思います(推測です)。
(追記 2008-10-22 22:17)立ち上がらなくなったFirefoxの復旧方法の決定打と言う記事も書いています。そちらの方が簡単で確実です。
(追記 2010-01-06 22:30)立ち上がらなくなったFirefoxの復旧方法の他の解も作成しました。
【関連記事】
- Firefoxの設定が吹っ飛んだ[追記あり]
- 立ち上がらなくなったFirefoxの復旧方法
- 立ち上がらなくなったFirefoxの復旧方法の決定打[訂正・追記あり]
- 立ち上がらなくなったFirefoxの復旧方法の他の解
ディスカッション
単に ~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/.parentlock を削除すれば復旧します(xxxxxxxx はランダムな文字列)。ドットで始まるファイルは Finder で表示されないので、「アプリケーション」->「ユーティリティ」にあるコンソール.app から
$ rm ~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default/.parentlock
と入力してください。
aさんへ、情報ありがとうございます。
そうですか、".parentlock"ファイルですか! どおりで、Finderで操作しても変わらない(見えない)はずです。ターミナル.appで見た所、確かにFirefoxを起動している時は、".parentlock"と言うファイル(シンボリックリンク)が出来ています。「何らかのロックファイルが出来ているはず!」とは思っていましたが、ターミナルで確認する事は思いつきませんでした…。基本なのに…。
試しに、同じ名前のファイルを作ってみたのですが、普通に立ち上がってしまいました…。何故でしょう?
とにかく、今度、Firefoxが立ち上がらなくなった時に、試してみます。
それと、教えていただいた方法を、別記事にしたいと思います。