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


12

Ho bisogno di un modo per mostrare lo schermo nero eseguendo il comando in console utilizzando 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 fornirò un altro comando per mostrare il contenuto dello schermo.

Aggiunta: sarebbe utile se il comando funzionasse in Ubuntu, Lubuntu e Xubuntu.

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


Risposte:


16

Risposta breve:

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

dov'è DVI-I-1il nome del tuo schermo.

Viceversa:

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

per ripristinare la luminosità normale.

Per ottenere il nome dello schermo

Basta eseguire il comando:

xrandr

Nell'output, troverai il nome dello schermo, nella riga, incluso connected

Piccolo script per scurire lo schermo o riportarlo alla normalità

Lo script può essere utilizzato per impostare (tutte) le schermate collegate su nero e viceversa. Lo script trova automaticamente le tue schermate.

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

Correre

  • 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, oppure

    python3 /path/to/set_black.py normal
    

    per riportare la luminosità alla normalità.


Mentre la risposta sopra dovrebbe funzionare bene su tutte le distro Ubuntu a livello locale , la domanda risulta essere su ssh / remote (le informazioni sono state modificate nella domanda).

In caso di una situazione remota, dovremmo impostare $DISPLAYcorrettamente la variabile. Se la variabile di visualizzazione è ad esempio :0, avremmo bisogno di eseguire lo script con:

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

La variabile non è necessariamente :0però. Questo post su U&L sembra eccellente per impostare la DISPLAYvariabile sul computer remoto.


Ma non dovresti digitare alla cieca il comando per riportarlo indietro?
SeiAGitForNotUsingGit

@AndroidDev Presumo che sia scritto.
Jacob Vlijm,

2
@JacobVlijm Sembra che 'DISPLAY =: 0 xrandr' e 'DISPLAY =: 0 xrandr --output HDMI1 --brightness 0' funzionino. Grazie!
JPX,

1
Ma ho impostato la mia sceneggiatura su + x
Terrance il

1
@JPX Userei il percorso completo, dal momento che non sappiamo dove siamo :)
Jacob Vlijm,

3

Modifica: la domanda è stata cambiata da quando avevo fornito questa risposta. Lascerò questa risposta perché fornisce alcune informazioni che potrebbero essere utili.

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

sudo apt-get -y install vlock

È quindi possibile oscurare e bloccare la console virtuale:

vlock

Quando si sblocca la console, lo schermo non viene ripristinato. Se non vuoi perdere il contenuto dello schermo, ti suggerisco di accedere ad una seconda console; quando vuoi bloccare lo schermo, passa a quella seconda console ed entra

vlock -a

Ciò bloccherà tutte le console e impedirà il cambio della console. Dopo aver sbloccato le console è possibile tornare alla console di lavoro principale e trovare intatti i contenuti dello schermo.


Un'opzione migliore per ripristinare la sessione precedente per utilizzare un terminale multiplexer come tmux o screen e staccare la sessione, bloccare la console e quindi ricollegarsi alla sessione precedente. Bonus: è possibile disconnettersi o disconnettersi completamente e riprendere comunque la sessione in un secondo momento.
David Foerster,

2

Esegui semplicemente:

gnome-screensaver-command -a

Nota: questo chiamerà anche la schermata di blocco a meno che non si disabiliti l'opzione "Blocco" nelle impostazioni di sistema:

inserisci qui la descrizione dell'immagine


Questo chiamerà anche la schermata di blocco.
Jacob Vlijm,

@JacobVlijm - Non per me.
SeiAGitForNotUsingGit

@ AndroidDev È strano, Ubuntu 16.04 qui.
Jacob Vlijm,

Dipende da come hai configurato "Impostazioni di sistema → Luminosità e blocco". L'impostazione "Blocco ON / OFF" e "Blocco schermo dopo ..." controllano il comportamento.
Byte Commander

@JacobVlijm - Modificato
You'reAGitForNotUsingGit
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.