2009年04月25日(土)
Apple Remote Desktopがクラッシュしたときのリカバリ方法とTips [Mac鯖管理]
Macサーバ管理者必携(?)なアップル純正リモートコントロールソフトことApple Remote Desktop(ARD)には,遠隔操作ツールだけではなくいろいろと気のきいた機能が備わっていて愛用しているのだけど,私の環境では最新版のバージョン3になってから結構な頻度(一週間に数回)で“落ちて”しまうのです。単に落ちるだけだったらアプリ本体をまた立ち上げればいいのだけど,困ったことにARDがクラッシュすると大抵「予期せぬエラーのため、Remote Desktop の管理者用ソフトウェアの起動が、失敗しました。」みたいなメッセージが表示されてマシンを再起動するまでにっちもさっちもいかなくなるのですね〜。
それでもたまーにクラッシュするぐらいだったら,swapfileのクリアがてらリブートしてもいいのだけど,前述のように結構な頻度で「お亡くなりになる」ため,段々そんなこともやっていられなくなって調べてみたところ,ターミナルで以下のコマンドを叩けば,ARDが突然落ちても再起動することなくリカバリできるようになりました。
$ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/ Contents/Resources/kickstart -activate -configure -access -on -users admin -privs -all -restart -agent -menu ※実際には改行を入れずに実行
Terminal.app に入力するのがメンドウな場合は,シェルスクリプトを書いて拡張子“.command”を付加し,ファイルに実行権限をつけておくと,ダブルクリックで実行できるので便利,かも。

こんな感じ?
それと,ARD関連のTipsというか,トラブル対策をひとつ。サーバのCUP使用率を監視していると,時々外部からアクセスがないにもかかわらず数時間連続して高負荷になることがあるのだけど,原因のひとつに“build_hd_index”なるプロセスが走りだしてインデックスを作り始めるというのがあるようです。このプロセスは基本的に,システム環境設定>共有>リモートマネージメント>オプション... から表示されるARDクライアント設定で“レポート作成”にチェックが入っていると走り出すみたいだけど,当該オプションをOFFにしているにも関わらず,これまで何度か“build_hd_index”が走りだしてしまうことがあったのですねー。
コイツはCPU喰らいで正直鬱陶しいので,プロセスの息の根を止めることにしました(笑)。方法は簡単。まず,アクティビティモニタ(Activity Monitor.app)で当該プロセスを探して強制終了し,ターミナル(Terminal.app)から実行ファイル本体の実行権限を抹殺するだけ。
$ sudo chmod 644 /System/Library/CoreServices/RemoteManagement/ ARDAgent.app/Contents/Support/build_hd_index ※実際には改行を入れずに実行
“build_hd_index”のパスを入力するのが面倒くさい場合は,「locate build_hd_index」で当該ファイルの在処を表示させて(パスを)コピペすると多少手間が省けるかな?!
もっとも実行権限をとるだけでは,ディスクユーティリティ(Disk Utility.app)の“アクセス権の修復”あたりをかけてしまうと元に戻ってしまうので,“build_hd_index”をtarか何かで圧縮して本体を捨ててしまう手もあるけどね(これはこれで別の副作用があるかも知れないけど)。
※そんなわけで,ぜんぶat your own riskでヨロシクっす(笑)。
Posted by 神海 螢 / コウミ ケイ at 2009年04月25日(土) 17時28分 コメント ( 2 )
コメント
ARDを使わない、って、ことでは、ダメ、かね。
VNCばかり使っているので、ね。
それと、→のリンク、久米研@九州大学ではなくて、正式には教育方法学研究室@九州大学、ね。
2教員体制になりました。
よろしく。
コメントありがとうございます。
VNCでも問題ないと思いますよ−。SSHでトンネリングすれば,通信経路も暗号化されるようですし。
ARDを使うメリットはといえば,遠隔操作中に相手に画面を見せないようにもできる(カーテンモード),ドラッグ&ドロップでファイルの受け渡しができる,複数のマシンへのソフトウェアの一斉インストール&管理が便利,といったところでしょうか。
リンクの件は修正いたしました。