web-dev-qa-db-fra.com

Comment puis-je effacer l'écran de la ligne de commande sur SSH?

J'ai besoin d'un moyen d'afficher l'écran noir en exécutant la commande dans la console à l'aide de la connexion SSH. Le moniteur ne doit pas passer en mode veille. Il me suffit d’un écran noir pour masquer tout ce qui est affiché à l’écran. L'écran doit être noir jusqu'à ce que je donne une autre commande pour afficher le contenu de l'écran.

Ajout: Il serait bon que la commande fonctionne sous Ubuntu, Lubuntu et Xubuntu.

Addition 2: J'ai aussi un projecteur à masquer. 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.

12
JPX

Réponse courte:

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

DVI-I-1 est 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

Il suffit de lancer la commande:

xrandr

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

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

Le script peut être utilisé pour définir (tous) les écrans connectés en noir et inversement. 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 rétablir la luminosité normale.


Alors que la réponse ci-dessus devrait fonctionner correctement sur toutes les distributions Ubuntu localement , la question s'avère être sur ssh/remote (l'information a été modifiée dans la question) .

Dans le cas d'une situation distante, nous devrions définir correctement la variable $DISPLAY. 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 :0 cependant. Ce post sur U & L semble être un excellent jeu de définir la variable DISPLAYsur la machine distante.

16
Jacob Vlijm

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

Si par console vous entendez l'une des consoles virtuelles à cellules de caractères, installez vlock :

Sudo apt-get -y install vlock

Vous pouvez ensuite éteindre 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 seconde console; lorsque vous souhaitez verrouiller l’écran, déplacez-vous vers cette deuxième console et entrez

vlock -a

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

3
AlexP

Il suffit de lancer:

gnome-screensaver-command -a

Remarque: Ceci appellera également le lockscreen sauf si vous désactivez l'option "Verrouiller" dans les paramètres système:

enter image description here

2
Android Dev