Cuando accedo a una computadora con OS X en mi red, la sesión dura hasta que OS X entra en modo de suspensión .
¿Hay alguna manera de evitar que esto suceda durante mi sesión SSH , aparte de golpear físicamente el mouse o escribir teclas, o desactivar manualmente la función de suspensión?
EDITAR: La sesión ssh normalmente sería un simple montaje sshfs.
ssh
osx
power-management
Stefan
fuente
fuente
Respuestas:
Esta no es una solución lista para usar, pero posiblemente funcionará si a nadie se le ocurre una solución :-)
Puede manipular la configuración de administración de energía con el comando
pmset
. Consulte la página de manual para obtener más información al respecto.La configuración interesante que queremos manipular es dormir :
Entonces podemos usar los siguientes comandos:
Ahora tenemos que activar estos comandos después de iniciar sesión y cerrar sesión. Si recuerdo bien, Bash es el shell predeterminado para Mac OS X que nos lleva a estos dos archivos:
Edítelos o créelos en su directorio de inicio y agregue los comandos apropiados. Si lo desea, guarde el valor de suspensión actual en un archivo temporal y restáurelo después.
El último problema a resolver es la solicitud de contraseña de sudo. Para dar a su usuario el permiso para invocar pmset sin ninguna contraseña, edite sus / etc / sudoers con sudoedit. Necesitas usar la
NOPASSWD
etiqueta. Si esto es nuevo para usted, eche un vistazo al manual de sudoers .fuente
Esto me permitió usar mi Mac a través de SSH sin importar qué, siempre que la Mac esté conectada a una fuente de alimentación.
Todo se apaga cuando el Mac se apaga de su fuente de alimentación, por lo que no tiene que preocuparse por la duración de la batería.
fuente
La utilidad pmset integrada de OS X tiene una configuración que puede hacer lo que desee. Consulte la página de
pmset
manual para conocer lattyskeepawake
configuración y la explicación que lo acompaña.El siguiente comando probablemente hará lo que quieras:
El
-c
indicador activa esta configuración específicamente cuando la computadora funciona con alimentación de CA (a diferencia de la batería o la alimentación del UPS), yttyskeepawake 1
evita que la computadora duerma durante una sesión activa de tty (presumiblemente una remota). Se va a permitir que el sueño si la sesión ha estado inactiva durante más tiempo que el temporizador de apagado, pero si eso es un problema, puede que el ordenador no debería establecerse a dormir en absoluto.fuente
Para usar SSH para abrir un shell en una máquina OSX remota y evitar que duerma durante la sesión SSH:
fuente
Desde Mac OS X 10.8, debería poder usar el
caffeinate(8)
comando.Tratar
caffeinate -s ssh server.example.com
.fuente
Agregué el siguiente script en
.bash_profile
Si el proceso es un hijo directo de un demonio ssh, ejecute un mismo shell a través del comando cafeína (8) para evitar que el sistema duerma durante la sesión ssh.
fuente
Una búsqueda en la web para evitar el sueño de Mac ofrece una gran cantidad de buena información sobre utilidades y trucos que puede utilizar.
Sin embargo, en su situación, sospecho que lo que realmente quiere hacer es tener una sesión ssh separada que ejecute un programa de línea de comandos muy simple que evite que la Mac duerma. Apple proporciona el código fuente completo en Preguntas y respuestas técnicas 1160: Prevención del sueño . (Desafortunadamente, esta página está rota en el sitio de Apple en este momento, pero puede extraer una copia del caché de Google).
No he probado para ver si este programa se puede ejecutar con éxito desde una sesión ssh, pero parece que podría.
Tenga en cuenta que las implementaciones de sshfs generalmente no permanecen conectadas al sistema remoto todo el tiempo, y solo ejecutan una sesión cuando quieren un archivo o directorio. Por lo tanto, necesita una sesión ssh separada, que se ejecute en una ventana de terminal minimizada, para ejecutar el programa de insomnio.
La ventaja de este enfoque es que no necesita usar sudo ni meterse con la configuración de administración de energía del sistema.
fuente