Activación de la pantalla desde el terminal, activación general

20

Esta es una pregunta de dos partes. Una pregunta práctica, "cómo hacer" es primero, y luego pido sugerencias de configuración.

Primero, coloco mis pantallas para dormir por la noche, y me gustaría poder activar la pantalla de forma remota. ¿Hay una utilidad de línea de comandos que pueda usar para despertarla a través de SSH? Sé sobre WakeOnLan, pero eso parece una exageración.

En segundo lugar, todo el motivo por el que quiero activar mi pantalla de forma remota tiene que ver con cómo cambió la configuración de ahorro de energía de Lion. El control remoto infrarrojo de Apple ya no activa la pantalla. Este es un gran negocio para una máquina que compré originalmente para ser una computadora de escritorio / home cinema combinada, ya que derrota la mitad de su propósito. Entonces, ¿alguien tiene alguna idea / sugerencia qué hacer al respecto? Esto es abierto, lo sé.

    
pregunta anon 15.06.2012 - 15:27

7 respuestas

22

La forma más fácil de hacer esto a través de SSH es usar caffeinate -u (disponible desde OS X 10.9, creo) para simular la actividad del usuario.

Agregue el indicador -t 5 para especificar un tiempo de espera de 5 segundos (de lo contrario, tendría que ctrl + c sin cafeína, parece). p>     

respondido por el Asmus 12.12.2014 - 13:56
8

Puedes usar

pmset schedule wake "01/01/2012 20:00:00"

para activar una pantalla inactiva en una Mac que de otra manera está "despierta". Reemplace la parte de fecha / hora con la hora actual del curso.

    
respondido por el wuc 23.11.2012 - 19:47
7

Wake: caffeinate -u -t 2

Sueño: pmset displaysleepnow

    
respondido por el Dermot 08.05.2016 - 06:54
6

Activación de la pantalla desde la línea de comandos

Para activar su pantalla de forma remota, intente ejecutar un AppleScript en la línea de comandos:

osascript -e 'tell application "System Events" to key code 123'

Esto simulará presionar la tecla del cursor y debería hacer que Mac OS X 10 crea que un usuario está activo en la computadora.

Este AppleScript se basa en la respuesta, Cómo ¿Automatizo una pulsación de tecla en AppleScript?

Activación de la pantalla después de activarse con el control remoto

Si está activando su Mac con el control remoto y la pantalla no se enciende, intente Wake Ayudar . No está diseñado para esta situación, pero podría funcionar.

Wake Assist simula un clic del mouse después de que tu Mac se despierta. Se hace doble clic en el mouse en la parte superior izquierda de la pantalla principal. Wake Assist no hará nada si detecta un usuario, pero si la computadora se despierta y está inactiva, se hace clic en el mouse para usted.

    
respondido por el Graham Miln 18.07.2012 - 19:21
3

wuc escribió:

  

Puedes usar

     

pmset schedule wake "01/01/2012 20:00:00"

     

para activar una pantalla inactiva en una Mac que de otra manera está "despierta". Reemplace la parte de fecha / hora con la hora actual del curso.

Sin embargo, eso no funcionó para mí en un iMac de 2008 aproximadamente con 10.9.1 o un MacBook Air de 2010 con 10.9.2. No estoy seguro de si esto tiene algo que ver con la administración de energía o el hardware de Mavericks, o qué.

Pude hacer que funcionara configurando la hora de despertar en 15 segundos en el futuro. Ocasionalmente pude hacer que funcionara con la configuración tan baja como 12 o 13, pero no de forma confiable. Pero puede haber otros factores que no me di cuenta en ese momento, pero 15 funcionaron, por lo que utilicé 15.

¿Pero cómo calculamos 15 segundos en el futuro programáticamente?

Usé gdate del paquete GNU Coreutils ( date en OS X podría hacer esto, pero si puede, no sé cómo, y ya tenía gdate instalado):

[para usar date en lugar de gdate use el alias set_wake_time = 'date "-v + $ {OFFSET} S" "+% D% T"']

Aquí está el script que utilicé:

#!/bin/zsh -f

# how many seconds into the future we want to wake the display
# 15 seems to work reliably. YMMV.
OFFSET=15

# to calculate the time, we need 'gdate'
alias set_wake_time='/usr/local/bin/gdate --date "+${OFFSET} sec" "+%m/%d/%g %H:%M:%S"'

# this is where we set the wake command
# if it doesn't succeed the script will exit immediately
/usr/bin/sudo /usr/bin/pmset schedule wake "'set_wake_time'" || exit 1

# if you were not testing this, you'd probably want to end at the
# next line. Just remove the leading '#'
#exit 0
#######################################################

### Everything below this line is only needed during testing ###

# this tells the display to sleep
# because we can test waking the screen up unless it's asleep
pmset displaysleepnow

# for testing purposes: now the script will pause for $OFFSET seconds
sleep $OFFSET

# For testing purposes:
# after $OFFSET seconds, this sound will play 3 times.
# by that time, the display should be awake
# I did this to help me know when I had set OFFSET too low

afplay /System/Library/Sounds/Glass.aiff

afplay /System/Library/Sounds/Glass.aiff

afplay /System/Library/Sounds/Glass.aiff

# script is done
exit 0

Todo después de '########################################### ############ 'se puede eliminar una vez que haya terminado la prueba.

    
respondido por el TJ Luoma 02.04.2014 - 08:45
1

Oh, cómo me gustaría tener suficiente reputación para aumentar la respuesta de @ wuc las 10 veces que merece este problema tan frustrante (o al menos poder dejar un simple comentario con la alabanza que merece).

Apple, en su sabiduría paternalista, agregó una "característica" que intencionalmente hizo más difícil despertar la pantalla en Lion y Mountain Lion. Esto ha hecho la vida mucho más difícil para aquellos que desean despertar de forma remota la pantalla (mediante el uso de controles remotos IR o mediante VNC) para interactuar con sus Mac. Por alguna razón, esto se convirtió en más pronunciado con OS X 10.8.2 .

Usar pmset fue una solución maravillosa para mí.

Paso 1: inicie sesión en la máquina remota con ssh [email protected] (reemplace con un nombre de usuario y una ip adecuados para el Mac remoto).

Paso 2: reactiva la pantalla usando pmset schedule wake "06/27/2013 04:20:00" (con una fecha futura apropiada de tu elección).

    
respondido por el D. Woods 28.06.2013 - 06:02
0
Opción

si no quieres usar gdate:

  • Habilitar SSHD (inicio de sesión remoto) en Preferencias del sistema, compartiendo
  • Habilite "Despertar para acceso a la red" en Preferencias del sistema, Ahorro de energía

ponga este código en un archivo como 'wakeup.sh' en su carpeta de inicio:

shopt -s expand_aliases
#NB: 7 is the waiting interval. Works for me. Increase as needed. 
alias myDate='date -v+7S "+%m/%d/%Y %H:%M:%S"'
echo MacBook will wake up at: 'myDate'
echo yourMacPW | sudo -S pmset schedule wake "'myDate'"
  • Hágalo ejecutable con 'chmod + x wakeup.sh' e ingrese su contraseña si lo desea. De lo contrario suelta el eco y -S.

Si desea automatizar este proceso para trabajar desde una máquina con Windows:

  • Obtenga PuTTY y una herramienta de línea de comandos WakeOnLan (es decir, Aquila en SourceForge)
  • Cree un archivo de texto de una línea que contenga './wakeup.sh'
  • escribe un archivo por lotes como este:

    @echo off
    c:
    cd "C:\Program Files (x86)\Aquila Technology\WakeOnLAN"
    :tryAgain
    wakeonlanc.exe -w -mac 00:00:00:00:00:00
    ping 192.168.1.101 -n 1 | find "unreachable"
    if %ERRORLEVEL% EQU 0 GOTO tryAgain
    cd C:\putty
    putty.exe -ssh 192.168.1.101 -l yourUser -pw yourMacPW -m c:\putty\macWake.txt
    

Las cosas que necesita cambiar: su IP, su dirección MAC, la palabra "inalcanzable" pueden no ser lo que obtiene, es posible que se le "agote el tiempo de espera". Por supuesto, almacenar una contraseña de root en texto sin formato no es una buena idea, pero es cómo hacerlo de forma completamente automática desde Windows a OSX.

    
respondido por el wellspokenman 17.07.2015 - 14:08

Lea otras preguntas en las etiquetas