anchor
メニューバーのクラッシュ以来、ログイン項目が消えてしまう症状が連続して発生…plistファイルのバックアップを取る 先日とあるメニューバーアプリをテストしていたら、メニューエクストラ(メニューバーの右半分を占めるシステムオリジナルのメニューバーアプリ系統)が起動しておらず、メニューエクストラの再起動をMainMenuからやる羽目になった。 それはそれで普通に起動したのだが、その次のログインからログイン時に自動的に起動する項目がほとんど起動して来ず、メニューエクストラを再起動しても全く改善しない。 システム環境設定のユーザとグループに入ると、ログイン項目がKarabinerなど4つぐらいしか残っておらず、ほかはキレイに消えていた。 仕方なしに、記憶をたどりながらログイン項目に何を登録したかを再現して登録し直した。
ところがログオフして、もう一度ログインしなおすと先ほど復元したログイン項目がキレイに消えていた。
メニューエクストラがクラッシュしてメニューの再起動を実施後、
再ログインするとシステム環境設定のユーザとグループにある
ログイン項目が4つぐらい残してキレイに消えていた
復元して再ログインしてもまた消えるということを繰り返す
このメニューエクストラがクラッシュするとシステム環境設定の
設定が壊れるのはOS Xの昔からの持病みたいなもので最近のバージョンでは
ずいぶん珍しくなったがJaguarあたりの時代には頻繁に起きていた
システム環境設定の設定項目は~/Library/Preferencesか
/Library/Preferencesの中にあるcom.appledappleえ始まる
.plistファイルがその記録先なのでここのバックアップを取る
これをPreferencesフォルダの隣に「PreferencesBackUp」とかなんとか
自分でわかりやすい名前のフォルダを作ってそこにコピーを取ればいい
ログイン項目の設定ファイルはcom.apple.loginitems.plistという名称になる
バックアップから復元するときはシステム環境設定を落としてこのファイルを上書きするか
Xcodeでこのファイルを開いてオリジナルの
~/Library/Preferencesなどのパスに上書きしてやればいい
次回ログイン後に消えてなければ成功
ここでログイン項目の名前が確認できる
復原法はキャプチャで紹介した通りなのだが、これで復原しても再ログイン、
あるいは再起動後に見るとまたログイン項目が消えているという悪循環に陥った。
この症状で手を焼いたのはたしかJaguar(OS10.2)の時代だったと思う。
あの頃もそうだったが、結局何回か登録と再起動を繰り返して落ち着くのを待つしかない。
落ち着いたらそのときの.plistファイルをバックアップに取得して、次回のクラッシュに備えるソカない
登録しては消える…消えたらもう一度登録する…を数度繰り返して
その間システムのメンテナンスの手順を一通り全部実行して
ようやく落ち着いてきたので最初に入力してバックアップを取った.plistファイルを
com.apple.loginitemsOld.plistとでもリネームして最新の.plistファイルのコピーと一緒に保存する
この手のトラブルはこういう方法で地道に自衛するしかない
2017年5月3日
anchor
ログイン項目が消えてしまう障害が再発〜環境設定ファイルの修復、システム設定ファイルの削除、システム上書きインストールなど一通りやったが解決法は意外なところにあった… 先日ログイン項目がほとんど消えてしまうという症状が発生し、その場合の設定ファイルの復元法について触れた。
ところがこのログイン項目が消えてしまう障害がまた再発した。 というよりこの一週間再起動をかけるとほぼ百発百中の確率でログイン項目が消えてしまう。
この場合の対処法は一般的には以下のようになる。
1)~/Library/Preferences/の中にあるcom.apple.loginitems.plistをバックアップを取って症状が発生したら上書きして再起動
ログオフしてrootでログインしてそこから上書きすることでメモリダンプで上書きされるのを回避
2)~/Library/Preferences/の中にあるcom.apple.loginitems.plistとcom.apple.systempreferences.plistを削除してログイン項目を一から設定し直す
3)外付けハードディスクから起動して~/Library/Preferences/のcom.apple.loginitems.plistをTime Machineから復元
併せて内臓ボリュームをfsck_hfsコマンドで修復
4)それでも治らないときはcom.apple.loginitems.plistのバックアップを取ってシステムの上書きインストール
この4つの方法をこの一週間試していたが、結論からいうと改善しなかった。
それでも多くの場合はこの4つの手順のどこかの段階で解決しているようなので、解決のためにやったことも大まかに書き留めておく。
ログイン項目が常時26〜7は登録されている(多すぎ)のだが
これがキレイに消えてこの4つだけになってしまう
設定ファイルのcom.apple.loginitems.plistを直接見ても
項目が4つになっているので上書きされてしまっているようだ
これをバックアップから戻して再起動を試してみたが初回ログイン項目は立ち上がるが
設定はこの状態になって次の回からこの4つ以外立ち上がらなくなる
Macを外付けハードディスクから起動してTime Machineからplistファイルを復元するか
ディスクターゲットモードで起動して別のMacでplistを復元する方法を考えたが前者をやってみた
外付けHDDから起動するのは内臓ボリューム全体に
アクセス権修復・ファイルシステムチェックをかけたいから
まずTime Machineディスクのボリュームを開いて障害が起きる前の4/20頃の.plistファイルを取得する
ログイン項目設定ファイルのcom.apple.loginitems.plistを内臓ディスクの
ホームディレクトリの中の~/Library/Preferences/に上書きコピー
あと最近スリープからの復帰に失敗したり逆に蓋を閉じても
なかなかMacBook Proがスリープに落ちないなどのトラブルが
散見されるのでcom.apple.loginwindow.plistも削除してリセットしておく
これが外から起動した大きな理由なのだが外から起動中はシステム領域も
使用されていないのでファイルシステムチェックなどを徹底的に行える
mountコマンドを打って内臓ボリュームのデバイス名を特定する
この場合disk4のパーティションから起動しているので
内臓ディスクのdisk2という名称がdisk4より後に表示される
これで内臓ディスクがdisk2の名前でマウントされているのがわかる
デバイス名がわかったらsudo fsck_hfs -f -n /dev/デバイス名
というコマンドで内臓ディスクのファイルシステムチェックを行う
この場合はsudo fsck_hfs -f -n /dev/disk2となる
ついでにディスクユーティリティを使ってアクセス権の修復を外から実施
これもシステム領域を含む全域徹底修復になるはず
Time Machineから障害が起きる前のログイン項目設定を復元して
改めて見ていてiTunesHelperなど意味がない項目があることに気がついた
こうした項目を削除してメデタシメデタシ…とはならなかった
再起動後またこれらの項目が消えてしまった
Appleのサポートページにこういう場合はcom.apple.systempreferences.plistを削除すればいと書いてあった
ログイン項目設定と同じく場所は~/Library/Preferences/にあるのでゴミ箱に移動して再起動
多くの場合これで解決するそうだが私の場合やってみたがこれでは改善しなかった
結局どの方法も改善できなかったのだが、これで解決するケースも多いそうなのであえて何をやったか全部書いておいた。
このあとシステムの上書きインストールも試したが結局改善せず。 ところでこの障害がいつ起きたかをつらつら考えてみた。
その時の変化点が一番怪しいということになる。
最初にログイン項目が消えたのが 4 月 28日あたり。
BwanaDik 4を試した日に起こった。
この時にシステムメニューバーがクラッシュしたのだが、その原因がこれなのかMacs Fan Controlを以前から常用していたsmcFanControlに戻したせいなのかどうなのか判断が付きかねていた。 しかし起こって欲しくないことというのは起こるものだ。 ふと思いついてこのBwanaDik 4をBwanaDik 3に戻してみた。
なかなか安定していて視認性も高くなったので気に入って
使っていたBwanaDik 4だが思うところあってBwanaDik 3に戻してみた
上書きして再起動する
するとどうでしょう!
ログイン項目は消えなくなった
キャッシュの削除やらやりまくってガンガン再起動もかけているが一度も消えない
結局BwanaDik 4が原因だったということだ。 誤解しないようにしていただきたいが、BwanaDik 4は不安定になって知らない間に落ちたりしていたBwanaDik 3の問題を解決してMacOSの最新バージョンに最適化しているので、SierraやEl Capitanではおそらく問題は起きないと思う。
そういう情報も探したが見当たらないからだ。
Yosemiteという私の環境と、何かの要因が重なってこの問題が起きたに違いない。 概ね素晴らしいソフトだと思う、BwanaDik 4は。 ただ私の環境ではそういう影響があったというだけのことで決してバグだとは捉えていない。 とはいえログイン項目が消えるのはさすがに応えるのでBwanaDik 3に戻して使うことにした。
せっかく気に入って使っていたのに…いいんだい…システムを上書きインストールしてなんだがMacがクリーンになった気がするし、それでよしとするわい(←典型的な負け惜しみ)
2017年5月6日
|