macOS の リモート管理 または 画面共有 で問題が発生した場合(「接続済み」で接続が停止する、読み込みホイールが部分的に表示される、機能を復元するために頻繁に設定を切り替える必要があるなど)、以下の手順でリモートアクセスの妨げとなっている可能性のあるシステムレベルの深刻な問題を解決できます。
これらは、ターミナルとシステム管理に精通しているユーザー向けの 高度な手順 です。慎重に進め、管理者権限があることを確認してください。
この記事で対処する症状
- リモート管理または画面共有が断続的に応答しなくなる
- Screens または macOS の画面共有でリモートの Mac は表示されるものの、接続がフリーズまたは失敗する
- リモート管理を再起動すると、問題が一時的に解決する
- ログに screensharingd、無効な資格情報、システムファイルが見つかりません などのエラーが表示される
基本的な修正
まず、リモート管理 または 画面共有 をオフにしてから、再びオンにします。多くの場合、この簡単なリセットだけで問題を解決できます。
この記事 で手順ごとの説明をご覧ください。
高度な修正
1. 画面共有デーモンを再起動する
screensharingd プロセスが停止することがあります。再起動することで、リモート管理を完全にリセットしなくても機能が回復する場合があります。
sudo pkill screensharingd
このコマンドはターミナルまたは SSH 経由で実行でき、サービスは自動的に再起動します。
2. リモート管理サービスを再構築する
リモート管理と画面共有の macOS 起動デーモンをリセットして再起動すると、隠れた破損や停止状態が解消される場合があります。
sudo launchctl bootout system /System/Library/LaunchDaemons/com.apple.screensharing.plist
sudo launchctl bootout system /System/Library/LaunchDaemons/com.apple.RemoteManagement.launchd
sudo launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.screensharing.plist
sudo launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.RemoteManagement.launchd
その後、Mac を再起動します。
3. 不足しているシステムファイルを再作成する
macOS のログに、次のような重要なシステムディレクトリが不足していることが記録される場合があります。
/private/var/db/DetachedSignatures
このフォルダを再作成するには:
- macOS Recovery を起動します。
- ユーティリティメニューからターミナルを開きます。
- 次のコマンドを実行します。
csrutil disable reboot
再起動後(通常の macOS に戻った後)、ターミナルを開き、次のコマンドを実行します。
sudo mkdir -p /private/var/db/DetachedSignatures
sudo chmod 755 /private/var/db/DetachedSignatures
sudo chown root:wheel /private/var/db/DetachedSignatures
ディレクトリを作成したら、必要に応じてシステム整合性保護 (SIP) を再度有効にすることができます。
csrutil enable
4. リモート管理設定を完全にリセットする
リモート管理を最初から消去して再設定するには:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
-deactivate -stop
sudo rm -f /Library/Preferences/com.apple.RemoteManagement.plist
sudo rm -rf /var/db/RemoteManagement
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
-activate -configure -access -on -restart -agent -privs -all
オプション:ビューアセッションの過負荷を確認
ログに次のようなメッセージが表示される場合:
reset gMaxViewerConnection to 13
…これは、システムが古いVNC接続を適切にクリーンアップしていません。pkillコマンド(手順1を参照)を使用してscreensharingdを定期的にリセットするか、launchdでスケジュール設定することを検討してください。
セーフモードテスト(オプション)
サードパーティによる干渉を排除するには:
- Macを再起動します。
- ログイン画面が表示されるまでShiftキーを押し続けます。
- ログインします(セーフモードになります)。
- 画面共有またはリモートマネージメントを有効にします。
- Screensから接続してみます。
これらの手順を実行した後
- アクセスを復元するためにリモートマネージメントのオン/オフを切り替える必要がなくなります。
- 画面共有接続は、長時間の稼働後でも安定しているはずです。
- 問題が再発する場合は、次のコマンドを使用して、障害発生直後にログを取得します。
log show --predicate 'process == "screensharingd"' --last 10m
ヘルプが必要ですか?
上記の手順を試しても問題が解決しない場合は、ログのコピーと、macOS のバージョンおよびネットワーク設定の詳細を添えてお問い合わせください。