![如何在启动后保持 OS X 服务器正常运行而无需用户登录?](https://linux22.com/image/1468497/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%90%AF%E5%8A%A8%E5%90%8E%E4%BF%9D%E6%8C%81%20OS%20X%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%AD%A3%E5%B8%B8%E8%BF%90%E8%A1%8C%E8%80%8C%E6%97%A0%E9%9C%80%E7%94%A8%E6%88%B7%E7%99%BB%E5%BD%95%EF%BC%9F.png)
我遇到这个问题已经有一段时间了,它确实开始给我的设置带来一些重大问题。
在我以前的工作中,这台服务器有 UPS 保护,所以无论何时发生小规模停电,都不会造成什么大问题。当时,它运行的是 Mountain Lion 和 OS X Server。这台服务器随我一起搬到了新工作岗位,从那时起,我升级到了 Mavericks,然后又升级到了 Yosemite,但不再有 UPS 保护。
它是一台功能相当强大的机器,并且由于它支持 USB 3.0,理想情况下,我想在 FreeNAS 中设置一个始终开启的 ZFS 池,以及一些我经常使用的其他服务。
我已经检查了系统偏好设置中的选项,该选项告诉它在断电(或其他情况)后重新启动,但真正的问题似乎是,在启动后,我会看到登录屏幕,如果我在大约 60 秒内没有登录,它就会完全关闭。
如果我正在远程工作或不在房间里(而且我大多数时候都是在无头模式下运行这个东西),如果没有用户登录,它会在大约 60 秒不活动后完全关闭。这会产生一些明显的问题 —— 其中最不重要的问题仍然非常烦人 —— xRDP 显然在 ~/LaunchDaemons 或类似目录下运行。出于美观目的,我将蓝牙键盘/鼠标与此盒子一起使用,因此如果我的外围设备电量不足或出现其他问题,我甚至无法从笔记本电脑快速通过 RDP 登录,否则它就会关闭。这是因为 xRDP 尚未在启动屏幕上运行。这应该是一个简单的修复,但可能将其放在 /Library/LaunchDaemons 或类似位置,但就像我说的,这是我目前最不烦恼的事情。
远程工作时,我得打电话给我的妻子来启动这个服务器,然后登录,这真是太糟糕了。但愿她不必去找电池或 USB 键盘之类的东西,或者更糟的是,她不在家,如果我需要访问这个服务器,我几个小时内就没运气了。我通常在 45 分钟路程之外的地方工作,所以在这种情况下获得物理访问权限不值得花费时间和精力。
不管怎样,我的家用路由器运行的是 DD-WRT,我不记得曾经成功让 WOL 与这个盒子一起工作(或者如果我这样做了,我无法及时登录以防止自动关机)。
我的问题如下:
- 最简单的解决办法是不是就是为这台机器投资 UPS,以避免发生此问题,即使这似乎回避了实际的根本原因?
- 我是否忽略了某些显而易见但可以轻松防止这种情况发生的事情?
- 这是 OS X 中的一个实际错误,还是我的某个特定配置中的缺陷?
我意识到这个问题也可以在超级用户中提出,但考虑到它与服务器相关的性质,我想我会在这里发布它。我需要这个盒子作为服务器使用——而不仅仅是一台半可用的计算机。
举个例子,每当发生这种情况时,我必须启动 Mac Mini,登录,启动 VirtualBox,启动终端,然后运行以下命令:
vboxmanage startvm "FREENAS"
(等待 FreeNAS 启动)
mountzfs
(通过 AFP 安装我的 FreeNAS ZFS 池)
open /Applications/Plex\ Media\ Server.app/
transmission-daemon -g ~/.transmission-daemon
这些都是我希望一直运行的东西,更不用说显而易见的 Apache、Nginx、SSH 等。几个月来,我断断续续地在 Google 上搜索,直到我的眼睛流血,但都无济于事。希望有人能帮我指明正确的方向。
编辑:我最近在 Yosemite 上运行了 Onyx(没有帮助),然后升级到 El Capitan,也没有帮助。此问题仍然存在。
答案1
在我看来,FileVault 已打开,因为加密的 Mac 首先启动到登录屏幕,但此时操作系统尚未运行。由于操作系统未运行,Mac 无法调节温度,或监控其他重要系统,并在过热时采取行动。因此,它只会运行几分钟,让某人有机会重新登录,但如果没有人登录,它就会关闭以保护自己。如果 FileVault 未打开,那么这种行为就很奇怪。