OS X:如何防止计算机在 ssh 会话期间休眠

OS X:如何防止计算机在 ssh 会话期间休眠

当我SSH变成一个操作系统我的网络上的计算机会话持续到操作系统进入睡觉模式。

有没有办法在我的过程中防止这种情况发生SSH除了物理碰撞鼠标或打字键,或者手动禁用睡眠功能之外?

编辑:ssh 会话通常是一个简单的 sshfs 安装。

答案1

无论如何,只要 Mac 连接到电源,我就可以通过 SSH 使用我的 Mac。

系统偏好设置、节能器、防止计算机在显示器关闭时自动休眠

当 Mac 断开电源时,一切都会关闭,因此您不必担心电池寿命。

答案2

这不是一个开箱即用的解决方案,但如果没有其他人提出解决方案,它可能会起作用:-)

您可以使用命令操作电源管理设置pmset。请参阅联机帮助页了解更多相关信息。

我们想要操纵的有趣设置是睡觉:

sleep - 系统睡眠计时器(以分钟为单位的值,或0表示禁用)

所以我们可以使用以下命令:

sudo pmset sleep 25      # go to sleep after 25 minutes
sudo pmset sleep 0       # disable sleep

现在我们必须在登录和注销后触发这些命令。如果我没记错的话,Bash 是 Mac OS X 的默认 shell,它为我们带来了这两个文件:

   ~/.bash_profile
          The personal initialization file, executed for login shells
   ~/.bash_logout
          The individual login shell cleanup file, executed when a login shell exits

在您的主目录中编辑或创建它们并添加适当的命令。如果需要,请将当前睡眠值保存在临时文件中,然后从中恢复。

最后要解决的问题是sudo的密码提示。要授予用户无需任何密码即可调用 pmset 的权限,请使用 sudoedit 编辑 /etc/sudoers。您需要使用NOPASSWD标签。如果这对您来说是新的,请查看sudoers手册

答案3

要使用 SSH 在远程 OSX 计算机上打开 shell 并防止其在 SSH 会话期间休眠:

$ ssh -t me@mymacbook caffeinate -i bash

答案4

从 Mac OS X 10.8 开始,您应该能够使用caffeinate(8)命令。

尝试caffeinate -s ssh server.example.com

相关内容