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.
xrandr --output DVI-I-1 --brightness 0
où DVI-I-1
est le nom de votre écran.
L'inverse:
xrandr --output DVI-I-1 --brightness 1
pour rétablir la luminosité normale.
Il suffit de lancer la commande:
xrandr
Dans la sortie, vous trouverez le nom de l'écran dans la ligne, y compris connected
name__
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])
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 DISPLAY
sur la machine distante.
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.