¿Cómo puedo dejar en blanco la pantalla desde la línea de comando sobre SSH?

12

Necesito una forma de mostrar la pantalla en negro ejecutando el comando en la consola usando la conexión SSH. El monitor no debe pasar al modo de espera. Solo necesito una pantalla negra para ocultar todo lo que está en la pantalla. La pantalla debe estar negra hasta que le dé otro comando para mostrar el contenido de la pantalla.

Adición: Sería bueno si el comando funcionara en Ubuntu, Lubuntu y Xubuntu.

Adición 2: También tengo un proyector que necesita borrarse. Quiero usar SSH para conectarme a mi servidor y mostrar la pantalla en blanco. Si intento apagar el proyector, "No hay señal" se muestra en la pantalla.

JPX
fuente

Respuestas:

16

Respuesta corta:

xrandr --output DVI-I-1 --brightness 0

¿Dónde DVI-I-1está el nombre de tu pantalla?

Al revés:

xrandr --output DVI-I-1 --brightness 1

para volver a establecer el brillo normal.

Para obtener el nombre de la pantalla

Simplemente ejecute el comando:

xrandr

En la salida, encontrará el nombre de la pantalla, en la línea, que incluye connected

Pequeño script para oscurecer la pantalla o volver a ponerla en normal

El script se puede usar para configurar (todas) las pantallas conectadas en negro y viceversa. El script encuentra tus pantallas automáticamente.

#!/usr/bin/env python3
import subprocess
import sys

arg = sys.argv[1]

screens = [l.split()[0] for l in subprocess.check_output("xrandr").decode("utf-8").splitlines()
           if " connected" in l]

val = "0" if arg == "black" else "1"
for s in screens:
    subprocess.Popen(["xrandr", "--output", s, "--brightness", val])

Correr

  • Copie el script en un archivo vacío, guárdelo como set_black.py
  • Ejecútalo ya sea con:

    python3 /path/to/set_black.py black
    

    para oscurecer la pantalla, o

    python3 /path/to/set_black.py normal
    

    para configurar el brillo a la normalidad nuevamente.


Si bien la respuesta anterior debería funcionar bien en todas las distribuciones de Ubuntu localmente , la pregunta resulta ser ssh / remote (la información se editó en la pregunta).

En caso de una situación remota, tendríamos que configurar la $DISPLAYvariable correctamente. Si la variable de visualización es :0, por ejemplo , necesitaríamos ejecutar el script con:

DISPLAY=:0 python3 /path/to/script.py black

Sin :0embargo, la variable no es necesariamente . Esta publicación en U&L parece excelente para configurar la DISPLAYvariable en la máquina remota.

Jacob Vlijm
fuente
¿Pero no tendría que escribir a ciegas el comando para recuperarlo?
You'reAGitForNotUsingGit
@AndroidDev Supongo que está programado.
Jacob Vlijm
2
@JacobVlijm Parece que 'DISPLAY =: 0 xrandr' y 'DISPLAY =: 0 xrandr --output HDMI1 --brightness 0' están funcionando. ¡Gracias!
JPX
1
Pero configuré mi script en + x
Terrance
1
@JPX Usaría la ruta completa, ya que no sabemos dónde estamos :)
Jacob Vlijm
3

Editar: La pregunta ha cambiado desde que proporcioné esta respuesta. Dejaré que esta respuesta se mantenga porque proporciona información que puede ser útil.

Si por consola te refieres a una de las consolas virtuales de celda de personaje, entonces instala vlock:

sudo apt-get -y install vlock

Luego puede desmayar y bloquear su consola virtual:

vlock

Al desbloquear la consola, la pantalla no se restaura. Si no desea perder el contenido de la pantalla, le sugiero que inicie sesión en una segunda consola; cuando quieras bloquear la pantalla, ve a esa segunda consola e ingresa

vlock -a

Esto bloqueará todas las consolas y evitará el cambio de consola. Después de desbloquear las consolas, puede volver a la consola de trabajo principal y encontrar el contenido de su pantalla intacto.

AlexP
fuente
Una mejor opción para restaurar la sesión anterior es usar un multiplexor de terminal como tmux o screen y desconectar la sesión, bloquear la consola y luego volver a conectarla a la sesión anterior. Bonificación: puede cerrar sesión o desconectarse por completo y aún así reanudar la sesión más tarde.
David Foerster
2

Simplemente ejecute:

gnome-screensaver-command -a

Nota: Esto también llamará a la pantalla de bloqueo a menos que desactive la opción "Bloquear" en la configuración del sistema:

ingrese la descripción de la imagen aquí

You'reAGitForNotUsingGit
fuente
Esto también llamará a la pantalla de bloqueo.
Jacob Vlijm
@JacobVlijm - No es para mí.
You'reAGitForNotUsingGit
@ AndroidDev Eso es extraño, Ubuntu 16.04 aquí.
Jacob Vlijm
Depende de cómo haya configurado "Configuración del sistema → Brillo y bloqueo". La configuración "Bloquear ENCENDIDO / APAGADO" y "Bloquear pantalla después de ..." controlan el comportamiento.
Byte Commander
@JacobVlijm - Editado
You'reAGitForNotUsingGit