Macが度々固まってたのが直ったみたいです
仕事で使ってる会社Macが度々レインボーマウスになってしまうので、対策しました。 対策後10日ほど経ちますが、一度も症状出ていないので、効いたと思われます。
マシンの仕様など
OS X EL Capitan
バージョン 10.11.6
MacBook Pro (Retina, 13-inch, Late 2013)
2.4 GHz Intel Core i5
メモリ 8 GB 1600 MHz DDR3
状況
突然レインボーマウスがぐるぐるして、EmacsやChromeやiTerm2やアクティビティモニタが反応しなくなる。
マウスは動くし、Dockのマウスオーバーも反応するし、ウィンドウを前面に持ってきたりはできるけれど、それも調子に乗ってると無反応になっちゃう。
アクティビティモニタも固まってるので、どのプロセスがおかしいか、とかもわからない。
観察
あらかじめTerminal.appでtopコマンドを実行しておく。もう1つTerminal.appのウィンドウを開いておく。
すると、上記現象が発生したときに、
distnoted
というのがCPUを4コア全部食ってるのが見えた。
launchdでdistnotedを定期的に終了させる - @znz blog
なるほどねぇ。distnotedは殺しちゃえばいいのか。
ということで、ひとまず、「もう1つ」のほうのTerminal.appで
killall -9 distnoted
したら、レインボーカーソル状態を脱出した!
観察2
別の日に同じ状態で使ってたらまたレインボーカーソルになった。
が今度はTerminal.appも固まっててニッチもサッチもいかず。
この時は電プチ。
対策
やっぱ自動で定期的にkillしないとダメだ、ということで、
launchdでdistnotedを定期的に終了させる - @znz blog
のとおり、
~/Library/LaunchAgents/local.killall.distnoted.plist
というファイル名で、
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.killall.distnoted</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/killall</string>
<string>distnoted</string>
</array>
<key>StartInterval</key>
<integer>600</integer>
</dict>
</plist>
こういう内容のファイルを作って、
launchctl load ~/Library/LaunchAgents/local.killall.distnoted.plist
した。
ちなみに、上記を修正、反映するときはこうする。
launchctl unload ~/Library/LaunchAgents/local.killall.distnoted.plist
launchctl load ~/Library/LaunchAgents/local.killall.distnoted.plist
その後
幸せに暮らしましたとさ