使用Mac OS X的内置屏幕共享功能来连接无头Mac Mini时,我经常遇到问题。通常它可以正常工作,但有时无法连接。
它是这样的:
我启动了连接(通过在Finder窗口的侧栏中单击Mac Mini并选择“共享屏幕...”按钮,或者通过启动/System/Library/CoreServices/Screen Sharing.app
并输入Bonjour名称“ macmini.local
”),将显示带有“连接”,则动荡的人消失了。如果它可以成功连接,那么就可以了。但是,动荡的人常常消失了,没有什么能代替它。屏幕共享应用程序保持活动状态,无论我离开它多久,都不会显示任何消息,并且什么也不会发生。似乎没有任何连接。
我不能使问题可靠地发生,但是一旦发生,可以从几个不同的mac客户端中观察到。如果我重新启动远程计算机(通过ssh关机),它就会消失并且我可以毫无问题地进行连接,但是我正在寻找更好的解决方案。
通过ssh检查在远程Mac Mini上运行的进程,我看到两个进程,分别/System/Library/CoreServices/RemoteManagement/screensharingd.bundle/Contents/MacOS/screensharingd
为root和一个子进程/System/Library/CoreServices/RemoteManagement/ScreensharingAgent.bundle/Contents/MacOS/ScreensharingAgent
。如果我尝试杀死这两个进程中的任何一个,它们都会更改其PID,但仍在运行,并且不允许我连接。
通过此线程,在Mac mini Server上重新启动屏幕共享服务,我学习了如何正确地重新启动屏幕共享守护程序。或者实际上是两种方法。不知道哪一个合适,所以我都做。无济于事,仍然无法连接。
从这个线程开始,为什么Mac-to-Mac屏幕共享只是挂起了?我了解了通过IP地址而不是bonjour名称进行连接的建议。尝试此操作后,我得到的是登录窗口,而不是“连接中”的问题。仍然没有联系。而且,退出本地计算机上的“屏幕共享”并不会摆脱卡住的登录窗口。摆脱它的唯一方法是杀死NetAuthAgent,正如我在该线程中所了解的:如何杀死卡住的屏幕共享身份验证对话框?
两台机器都运行Lion(10.7.4),尽管自10.6以来我一直在观察这种行为,也许我不记得它是10.5。远程计算机是2009 Mac Mini,而本地计算机是MacBook Pro(此行为在许多不同的客户端计算机上都已重复)。
当然,在远程计算机上必须可以启动一些进程,服务器,守护程序吗?重启不足吗?