Use cafeína para evitar el sueño en la tapa cerca de la batería

La utilidad de caffeinate nativa no funciona para evitar que mi macbook se quede dormido cuando cierro la pantalla. En cambio, el sistema duerme y varios services de networking (VPN, pantallas, llamadas VOIP, clientes de postría, transferencias de files) fallan mientras path de mi escritorio a mi reunión en <5 minutos.

Caminar con la tapa del portátil medio abierta hace que sea difícil transportarlo con el café de forma segura, y es claramente poco sofisticado.

La utilidad de caffeinate nativa está diseñada para manejar esto como un reemploop fácil de usar para pmset , pero parece estar diseñado para no funcionar cuando se desconecta de la alimentación de CA.

Documentos a través del man caffeinate

-s Crea una aserción para evitar que el sistema duerma. Esta afirmación es válida solo cuando el sistema se ejecuta con alimentación de CA.

Buscando una alternativa nativa a InsomniaX o nosleep .

Una function de time de espera es esencial para evitar el relleno accidental de mi macbook undead en una bolsa, lo que provoca un desastre. ( caffeinate -t , especifica el valor de time de espera en segundos)

2 Solutions collect form web for “Use cafeína para evitar el sueño en la tapa cerca de la batería”

No es ideal, pero aquí hay una solución. Para evitar que la computadora portátil se quede dormida cuando la tapa está cerrada y está funcionando con batería, ejecute los siguientes commands:

 sudo pmset -b sleep 0; sudo pmset -b disablesleep 1 

Para volver a habilitar la computadora portátil para dormir cuando la tapa está cerrada y está funcionando con batería, ejecute los siguientes commands:

 sudo pmset -b sleep 5; sudo pmset -b disablesleep 0 

El "5" en el segundo set de commands representa la cantidad de minutos antes de dormir cuando está en batería; ajustar según lo deseado para su computadora portátil.

Esto es un poco peligroso, ya que si olvida volver a habilitar su configuration, la computadora portátil nunca dormirá cuando tenga batería. Debido a esto, he escrito un script de shell para volver a habilitar automáticamente la configuration:

 #!/bin/bash #*************************************************************************** #*** noz - prevent laptop from sleeping when lid is closed #*************************************************************************** #***** set some defaults ***** BATTERY_SLEEP=5 # in minutes DEF_WAKE_LEN=300 # in seconds #***** determine timeout value ***** timeout_len=${1:-$DEF_WAKE_LEN} function prevent_sleep() { echo echo -n "Preventing sleep for $timeout_len seconds; press <enter> to continue..." sudo pmset -b disablesleep 1 sudo pmset -b sleep 0 } function enable_sleep() { # $1: <enter> = 0, timeout = 1, Ctrl-C = undef #----- insert a newline for timeout or Ctrl-C ----- if [[ ${1:-1} -eq 1 ]]; then echo; fi echo "Restoring previous battery sleep setting: $BATTERY_SLEEP" sudo pmset -b disablesleep 0 sudo pmset -b sleep $BATTERY_SLEEP #----- sleep on timeout only ----- if [[ ${1:--1} -eq 1 ]]; then sudo pmset sleepnow; fi exit } #***** prevent it from sleeping ***** prevent_sleep #***** trap Ctrl-C ***** trap enable_sleep INT #***** wait for an enter ***** read -t $timeout_len rc=$? #***** re-enable normal sleep ***** enable_sleep $rc 

El script de shell desactivará la function de suspensión hasta que presione la tecla Intro , en cuyo punto volverá a habilitar la configuration de suspensión (alternativamente, puede presionar CtrlC y lograr lo mismo). También establecerá un time de espera (por defecto de 300 segundos / 5 minutos) después de lo cual la configuration de reposo se volverá a habilitar automáticamente, y la computadora portátil se verá obligada a ir a dormir. Si bien esto sería un problema si está usando su computadora portátil en una reunión, será un salvavidas si lo olvidó y puso su computadora portátil en su bolso para irse a casa.

Los lectores astutos notarán que estos commands requieren sudo ; tristemente, eso es inevitable AFAIK. Lo que he hecho en mi sistema es hacerlo para que no tenga que ingresar mi contraseña para ejecutar pmset como root. Para hacerlo, edite el file sudoers ( sudo visudo ) y agregue esta línea:

 joe ALL=(ALL) NOPASSWD: /usr/bin/pmset 

reemplazando "joe" con su nombre de usuario. Probablemente pueda lograr el mismo resultado (es decir, ejecutando el script sin tener que ingresar su contraseña) ejecutando el script SETUID del shell script, pero no me gusta hacer eso; abrir este único command a través de sudoers parece less arriesgado para mí.

Para ejecutar el script, póngalo en un directory en su PATH e inícielo como tal:

 $ noz [<timeout in seconds>] 

Cuando llegue a su destino, simplemente presione Enter o CtrlC y estará listo. Y si lo olvida, se reiniciará automáticamente y dormirá.

Probablemente haya una manera de lograr todo esto a través de AppleScript, para que luego pueda asignarle una tecla de acceso rápido y lo que no; Lo intentaré si alguna vez me canso de ejecutar esto desde la línea de command.

¿Has probado esta aplicación ? Lo encuentro muy útil para exactamente lo que buscas.

Estoy bastante seguro de que tiene una function de time de espera que configuras en la configuration de la aplicación.

  • ¿Qué podría estar impidiendo que se ejecute mi script de copy de security?
  • Problemas de la pantalla de MacBook Air 2013 después de dormir
  • ¿Hay alguna manera de poner Mac mini para dormir de forma remota?
  • Macbook Pro no responde durante aproximadamente un minuto al despertar. ¿Esto es normal?
  • Ventanas del browser web MacBook Pro recortadas después de reanudar el process de suspensión
  • Macbook pro no se queda dormido después de dejarlo inactivo
  • MacBook Pro se va a dormir repentinamente y no se despierta
  • Si dejo un HDD externo compartido conectado mientras el MAC está bloqueado ¿podrán los demás usuarios acceder?
  • Repetición súbita del dispositivo de input y reinicio automático después de cerrar la tapa
  • Mac no se va a dormir después de la inactividad
  • Problemas charts extraños después de despertar el MacBook
  • Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).