61 votos

¿Cómo puedo dormir la pantalla desde el Terminal?

Me gustaría poder apagar mi pantalla desde la línea de comandos.

Sé que existe el atajo de teclado ctrl + + pero quiero hacerlo desde un shell script o de forma remota.

¿Hay alguna manera?

0 votos

0 votos

También puede leer esto: stackoverflow.com/questions/1239439/

94voto

Sarah G Puntos 510

En OS X 10.9, puedes simplemente hacer pmset displaysleepnow . Esto apagará inmediatamente su pantalla sin cambiar ninguna de sus configuraciones o poner todo el host en reposo.

Los privilegios escalados no parecen ser necesarios (al menos con las versiones recientes de OS X), pero si recibe un mensaje sobre privilegios inadecuados, podría hacer sudo pmset displaysleepnow .

Según los comentarios de los usuarios, esto no está disponible en OS X 10.8 o anterior.

22voto

Matt Love Puntos 5380

Aunque no he podido encontrar un comando que duerma la pantalla de forma nativa, hay un aplicación que descargues que lo hará. Hay dos opciones desde aquí.

  1. Instala la aplicación en la carpeta de Aplicaciones y desde el Terminal o SSH ejecuta open /Applications/Sleep\ Display.app

  2. Haga clic con el botón derecho en la aplicación de la carpeta de descargas y haga clic en "Mostrar contenido del paquete". Navegue hasta Contents/MacOS y copiar el archivo sleepdisplay.

    Navegue hasta /usr/bin (puede utilizar el + + G y escriba el directorio) y pegue el archivo binario. Ahora podrá escribir el comando sleepdisplay en el Terminal o a través de SSH y la pantalla se pondrá inmediatamente en reposo.

Espero que esto ayude.

8voto

TraFoO Puntos 11

El siguiente script hará el trabajo (en Leopard y posteriores), pero debe ejecutarse con sudo :

La premisa es que pmset puede establecer un tiempo hasta la suspensión de la pantalla, pero el problema es que un valor de 0 desactiva la función, en lugar de establecer el retraso a cero, y un valor de 1 es un retraso completo de un minuto. La magia aquí es que un valor de 2^31 parece ser almacenado como cero negativo, que mágicamente funciona como "apagar la pantalla inmediatamente".

En Tiger y anteriores, se necesitaba un número mágico diferente, porque se utilizaba internamente una variable de tamaño de bit diferente para almacenar el retraso, en minutos, hasta que se apaga la pantalla.

Esto imita el comportamiento de control - shift - eject y puede utilizarse en los MacBook Air sin eject clave.

#!/bin/bash
original_setting=`/usr/bin/pmset -g | /usr/bin/awk '/displaysleep/ {print $2}'`
magic_number=2147483648
/usr/bin/pmset -a displaysleep $magic_number; sleep 1; /usr/bin/pmset -a displaysleep $original_setting

7voto

zippy Puntos 1215

Aquí hay un simple shell script que lo hará.

#!/usr/bin/env bash
open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app

Esto ejecutará/arrancará cualquier configuración que hayas habilitado para el protector de pantalla en ese ordenador.

0 votos

Me gusta esta. Copié/pegué este código en un archivo /usr/local/bin/ss, chmod +x en él, y ahora puedo escribir 'ss' en una línea de comandos para hacer que el protector de pantalla se active. El protector de pantalla, a su vez, está configurado para pedir una contraseña un minuto después de la activación del protector de pantalla (que podría reducirse aún más, creo, si es necesario)

6voto

Aidan Ryan Puntos 5056

Ejecute el siguiente comando para ejecutar un breve AppleScript que pone la pantalla en reposo:

osascript -e 'tell application "System Events" to sleep'

El nombre del comando sugiere que puede poner todo el sistema en reposo bajo algunas circunstancias, pero no pude hacer que eso sucediera en las pruebas limitadas: Lo probé con un shell script que inicié poco antes de ejecutar este comando, y que estuvo funcionando durante unos minutos hasta que "desperté" el sistema. Había seguido imprimiendo la salida durante todo ese tiempo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X