如果您在 macOS 上遇到 遠端管理(Remote Management) 或 螢幕共享(Screen Sharing) 的問題,例如卡在「已連線」狀態、僅顯示部分載入轉輪,或需要經常切換設定來恢復功能,下列步驟可協助解決可能干擾遠端連線的更深層系統層級問題。
這些是針對熟悉終端機和系統管理的使用者所設計的 進階操作步驟。請小心操作,並確保您擁有管理員權限。
本文解決的問題
- 遠端管理或螢幕共享偶爾停止回應
- 您可以在 Screens 或 macOS 螢幕共享中看到遠端 Mac,但連線會凍結或失敗
- 重新啟用遠端管理可以暫時恢復功能
- 日誌中顯示如 screensharingd、Invalid credentials 或 missing system files 等錯誤訊息
基本修復方法
請先嘗試將 遠端管理 或 螢幕共享 關閉再重新開啟。許多情況下,這個簡單的動作就能解決問題。
您可以在這篇文章中找到詳細步驟。
進階修復方法
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 復原模式
- 從「工具程式」選單中開啟終端機
- 執行以下指令:
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
選用:檢查 Viewer 連線過多的狀況
若您的日誌中出現如下訊息:
reset gMaxViewerConnection to 13
這可能表示系統未正確清除過往的 VNC 連線。您可使用第 1 步驟中的 pkill
指令定期重啟 screensharingd
,或透過 launchd
設定排程。
安全模式測試(選用)
為排除第三方軟體干擾:
- 重新啟動您的 Mac
- 立刻按住 Shift 鍵直到登入畫面出現
- 登入(您將進入「安全模式」)
- 啟用螢幕共享或遠端管理
- 嘗試使用 Screens 連線
執行這些步驟後
- 您應不再需要頻繁切換遠端管理以恢復連線
- 螢幕共享應可長時間穩定運作
- 若問題再次發生,請在發生後立即收集日誌:
log show –predicate ‘process == “screensharingd”’ –last 10m
需要協助?
若您已執行上述步驟後仍遇到問題,請聯絡我們,並提供日誌、副本與您的 macOS 版本與網路設定等資訊。