Якщо у вас виникли проблеми з Віддаленим керуванням або Спільним доступом до екрана в macOS — наприклад, з’єднання зупиняється в стані «Під’єднано», відображаються колеса часткового завантаження або потрібно часто перемикати налаштування для відновлення функціональності — наведені нижче дії допоможуть вирішити глибші проблеми на системному рівні, які можуть заважати віддаленому доступу.
Це розширені кроки, призначені для користувачів, знайомих із керуванням терміналом і системою. Будьте обережні та переконайтеся, що у вас є адміністративний доступ.
Симптоми У цій статті розглядаються
- Віддалене керування або спільний доступ до екрана періодично не відповідає
- Ви можете бачити віддалений Mac у Screens або macOS Screen Sharing, але підключення зависає або не вдається
- Перезапуск віддаленого керування тимчасово вирішує проблему
- У журналах відображаються такі помилки, як 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 \
-дезактивувати -стоп
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 \
-активувати -налаштувати -доступ -при -перезавантаженні -агент -privs -все
Необов'язково: перевірте наявність перевантаження сеансу перегляду
Якщо у ваших журналах відображаються такі повідомлення:
reset gMaxViewerConnection to 13
… це може означати, що система не очищає старі з’єднання VNC належним чином. Ви можете використовувати команду pkill (див. Крок 1), щоб регулярно скидати screensharingd, або запланувати це через launchd.
Перевірка безпечного режиму (необов'язково)
Щоб виключити втручання третіх сторін:
- Перезапустіть Mac
- Негайно утримуйте Shift, доки не з’явиться екран входу
- Увійдіть (ви будете в безпечному режимі)
- Увімкніть спільний доступ до екрана або віддалене керування
- Спробуйте підключитися з Screens
Після виконання цих кроків
- Вам більше не потрібно вимикати та вмикати віддалене керування, щоб відновити доступ
- З’єднання Screen Sharing мають залишатися стабільними навіть після тривалих періодів безвідмовної роботи
- Якщо проблеми повертаються, записуйте журнали відразу після збою за допомогою:
log show --predicate 'process == "screensharingd"' --last 10m
Потрібна допомога?
Якщо ви все ще стикаєтеся з проблемами після виконання кроків вище, будь ласка, зв’яжіться з нами, надавши копію своїх журналів і інформацію про вашу версію macOS і налаштування мережі.