Come posso oscurare lo schermo dalla riga di comando su SSH?

12

Ho bisogno di un modo per mostrare la schermata nera eseguendo il comando in console usando la connessione SSH. Il monitor non dovrebbe andare in standby. Ho solo bisogno di uno schermo nero per nascondere tutto ciò che è sullo schermo. Lo schermo dovrebbe essere nero fino a quando non darò un altro comando per mostrare il contenuto dello schermo.

Aggiunta: Sarebbe bello se il comando funzionasse su Ubuntu, Lubuntu e Xubuntu.

Aggiunta 2: ho anche un proiettore che ha bisogno di oscuramento. Voglio usare SSH per connettermi al mio server e mostrare la schermata vuota. Se provo a spegnere il proiettore, sullo schermo viene visualizzato "Nessun segnale".

    
posta JPX 04.01.2017 - 17:51
fonte

3 risposte

15

Risposta breve:

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

dove DVI-I-1 è il nome dello schermo.

Al contrario:

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

per impostare nuovamente la luminosità normale.

Per ottenere il nome dello schermo

Basta eseguire il comando:

xrandr

Nell'output, troverai il nome della schermata, nella riga, incluso connected

Piccolo script per oscurare lo schermo o riportarlo alla normalità

Lo script può essere utilizzato per impostare (tutti) gli schermi collegati su nero e viceversa. Lo script trova automaticamente i tuoi schermi.

#!/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])

Per eseguire

  • Copia lo script in un file vuoto, salvalo come set_black.py
  • Eseguilo con:

    python3 /path/to/set_black.py black
    

    per scurire lo schermo o

    python3 /path/to/set_black.py normal
    

    per impostare nuovamente la luminosità su normale.

Mentre la risposta sopra dovrebbe funzionare bene su localmente di Ubuntu, la domanda risulta essere su ssh / remote (le informazioni sono state modificate nella domanda).

In caso di situazione remota, dovremmo impostare correttamente la variabile $DISPLAY . Se la variabile di visualizzazione è ad es. :0 , dovremmo eseguire lo script con:

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

La variabile non è necessariamente :0 però. Questo post su U & amp; L sembra eccellente impostando la variabile DISPLAY sulla macchina remota.

    
risposta data Jacob Vlijm 04.01.2017 - 17:54
fonte
3

Esegui semplicemente:

gnome-screensaver-command -a

Nota: richiamerà anche la schermata di blocco, a meno che non disabiliti l'opzione "Blocca" nelle impostazioni di sistema:

    
risposta data Android Dev 04.01.2017 - 18:02
fonte
3

Modifica: la domanda è stata modificata poiché avevo fornito questa risposta. Lascerò questa risposta perché fornisce alcune informazioni che possono essere utili.

Se per console intendi una delle console virtuali a cella di caratteri, quindi installa vlock :

sudo apt-get -y install vlock

Puoi quindi oscurare e bloccare la tua console virtuale:

vlock

Quando si sblocca la console, lo schermo non viene ripristinato. Se non vuoi perdere il contenuto dello schermo, consiglio di accedere ad una seconda console; quando vuoi bloccare lo schermo, passa a tale seconda console e inserisci

vlock -a

Ciò bloccherà tutte le console e impedirà il cambio di console. Dopo aver sbloccato le console, puoi tornare alla console di lavoro principale e trovare il contenuto dello schermo intatto.

    
risposta data AlexP 04.01.2017 - 18:09
fonte

Leggi altre domande sui tag