Comment effacer l'écran de la ligne de commande via SSH?

12

J'ai besoin d'un moyen d'afficher un écran noir en exécutant la commande dans la console en utilisant la connexion SSH. Le moniteur ne doit pas se mettre en veille J'ai juste besoin d'un écran noir pour cacher tout ce qui est à l'écran. L'écran doit être noir jusqu'à ce que je donne une autre commande pour afficher le contenu de l'écran.

Addition: Ce serait bien si la commande fonctionnait sous Ubuntu, Lubuntu et Xubuntu.

Ajout 2: J'ai également un projecteur qui a besoin d'être masqué. Je souhaite utiliser SSH pour me connecter à mon serveur et afficher un écran vide. Si j'essaie d'éteindre le projecteur, "Aucun signal" s'affiche à l'écran.

JPX
la source

Réponses:

16

Réponse courte:

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

DVI-I-1est le nom de votre écran.

L'inverse:

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

pour rétablir la luminosité normale.

Pour obtenir le nom de l'écran

Exécutez simplement la commande:

xrandr

Dans la sortie, vous trouverez le nom de l'écran, dans la ligne, y compris connected

Petit script pour assombrir l'écran ou le remettre à la normale

Le script peut être utilisé pour définir (tous) les écrans connectés sur noir et vice versa. Le script trouve automatiquement vos écrans.

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

Courir

  • Copiez le script dans un fichier vide, enregistrez-le sous set_black.py
  • Exécutez-le soit avec:

    python3 /path/to/set_black.py black
    

    pour assombrir l'écran, ou

    python3 /path/to/set_black.py normal
    

    pour remettre la luminosité à la normale.


Alors que la réponse ci-dessus devrait fonctionner correctement sur toutes les distributions Ubuntu localement , la question se trouve être sur ssh / remote (les informations ont été modifiées dans la question).

En cas de situation à distance, nous aurions besoin de définir $DISPLAYcorrectement la variable. Si la variable d'affichage est par exemple :0, nous aurions besoin d'exécuter le script avec:

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

La variable n'est pas nécessairement :0cependant. Ce post sur U&L semble être un excellent réglage de la DISPLAYvariable sur la machine distante.

Jacob Vlijm
la source
Mais ne seriez-vous pas obligé de taper aveuglément la commande pour la ramener?
You'reAGitForNotUsingGit
@AndroidDev Je suppose que c'est scripté.
Jacob Vlijm
2
@JacobVlijm Il semble que 'DISPLAY =: 0 xrandr' et 'DISPLAY =: 0 xrandr --output HDMI1 --brightness 0' fonctionnent. Merci!
JPX
1
Mais j'ai défini mon script sur + x
Terrance
1
@JPX J'utiliserais le chemin complet, car nous ne savons pas où nous sommes :)
Jacob Vlijm
3

Edit: La question a été modifiée depuis que j'ai fourni cette réponse. Je vais laisser cette réponse reposer car elle fournit des informations qui peuvent être utiles.

Si par console, vous entendez l'une des consoles virtuelles de cellule de personnage, installez vlock:

sudo apt-get -y install vlock

Vous pouvez ensuite masquer et verrouiller votre console virtuelle:

vlock

Lors du déverrouillage de la console, l'écran n'est pas restauré. Si vous ne voulez pas perdre le contenu de l'écran, je vous suggère de vous connecter à une deuxième console; lorsque vous voulez verrouiller le déplacement de l'écran vers cette deuxième console et entrez

vlock -a

Cela verrouillera toutes les consoles et empêchera le changement de console. Après avoir déverrouillé les consoles, vous pouvez revenir à la console de travail principale et retrouver le contenu de votre écran intact.

AlexP
la source
Une meilleure option pour restaurer la session précédente consiste à utiliser un multiplexeur de terminal comme tmux ou screen et à détacher la session, à verrouiller la console, puis à rattacher à la session précédente. Bonus: vous pouvez vous déconnecter ou vous déconnecter entièrement et reprendre la session plus tard.
David Foerster
2

Exécutez simplement:

gnome-screensaver-command -a

Remarque: Cela appellera également l'écran de verrouillage, sauf si vous désactivez l'option "Verrouiller" dans les paramètres système:

entrez la description de l'image ici

Vous êtes AGitForNotUsingGit
la source
Cela appellera également l'écran de verrouillage.
Jacob Vlijm
@JacobVlijm - Ce n'est pas pour moi.
You'reAGitForNotUsingGit
@ AndroidDev C'est bizarre, Ubuntu 16.04 ici.
Jacob Vlijm
Cela dépend de la façon dont vous avez configuré "Paramètres système → Luminosité et verrouillage". Les paramètres "Verrouiller ON / OFF" et "Verrouiller l'écran après ..." contrôlent le comportement.
Byte Commander
@JacobVlijm - Modifié
You'reAGitForNotUsingGit