Apple Remote Desktopのアップデートで問題が解消しました
先日、自宅に置いてあるMacをVNC(画面共有)で操作しようとしたところ、以下のような表示が出て、接続はできていたものの、ログインできず、エラー画面から進むことができませんでした。
選択されたユーザーアカウントは利用できません。
ネットワーク接続を確認して、もう一度ユーザーアカウントに切り替えてください。ネットワークに接続している場合は、システム管理者に問い合わせてください。
原因さがし
なぜ、ちょっと前まで無事に動作していた画面共有が急に使えなくなってしまったのか。ちょっと考えてみました。
このような問題は、アップデートによる不具合の可能性が高いと思ったので、App Storeのアップデートタブを開くと…
Apple Remote Desktopの更新履歴を発見しました。(以下、ARDと表記。)しかし、一度アップデートしたら、元に戻すことはできないようなので、ARDがアップデートされたことだけはわかりましたが、直接の原因は分かりませんでした。
不具合を起こしているアプリケーションの正体
エラーメッセージを読み取ると、
- ネットワーク越しにログインする機能が正常に動作していない
- アカウントに何らかの変更がなされていて、ネットワーク越しにログインできない
という2つの可能性が予想できます。
1つ目は、ARDが正常に動作していない状態、
2つ目は、ユーザーアカウントが壊れてしまっている状態だと考えることができます。
エラーメッセージの画面から一切動けない状態であることから、1つ目を疑ってみました。
ARDが正常でないということを裏付けるために、外付けSSDにOS Xをへインストールして、Yosemiteのまっさらな環境を作って、画面共有をやってみました。するとやはり、問題なく動作しました。
しかし、ARDをアップデートすると、同じ現象に陥りました。
ARDの実体は、ARDAgent.appというアプリケーションで、
場所は
System/Library/CoreServices/RemoteManagement/ARDAgent.app
にあります。
RemoteManagementというフォルダには、画面共有に必要なファイルがいくつか入っています。
その中のファイルをARDのアップデート前(まっさらなYosemite環境)とアップデート後とで比較すると、バージョンが違いました。
アップデート前に、ここにあったファイルをバックアップしておいたので、1つずつ置き換えてみました。
すると、screensharingd.bundleというファイルが、今回の不具合の原因でした。
結論と解決方法
解決方法は、
- ARDをアップデートしない
- screensharingd.bundleを、古いバージョンに戻す
のどちらかです。
1番目の、「ARDをアップデートしない」という方法は、「アップデートしてしまった/されてしまった」場合にはとることができません。
ARDが「アップデートしてしまった/されてしまった」場合にはどうしたらよいのか、以下にまとめました。
screensharingd.bundleを、古いバージョンに戻すには
- OS Xを再インストールする
- 外付けSSDにOS Xをへインストールして、Yosemiteのまっさらな環境を作り、古いバージョンのscreensharingd.bundleを取り出す
以上の2つの方法があります。
「OS Xを再インストールする」と聞くと、データがすべて消えてしまうような気がしますが、特にHDをフォーマットしなければ、アプリケーションやデータに触らずOS Xだけ再インストールできます。
私も、最初はどのファイルが原因なのかわからなかったので、再インストールで解決していました。(原因を検証した結果、分かったことをこの記事にしています。)
OS Xの再インストールには抵抗があるという場合は、2番目の方法をとるといいかと思います。
また、未検証ですが、TimeMachineから該当ファイルをコピーしても、よいのかもしれません。
これで、しばらく悩んでいた、VNCが使えない状態から解放されました。
同じ症状でお悩みの方は、ぜひ試してみてください!