100 votes

Éteindre le moniteur en utilisant la ligne de commande

Je fais tourner Ubuntu Server sur mon ordinateur portable. Il n'y a vraiment aucune raison pour que l'écran soit allumé. J'ai essayé d'utiliser cette commande pour éteindre l'écran :

sleep 1 && xset dpms force off

Le problème est que je reçois l'erreur suivante

unable to open display "".

Une idée de ce qui se passe ou de ce qui ne va pas ? D'autres suggestions sur la façon de procéder ?

79voto

enzotib Points 86709

Pour désactiver le moniteur dans la console, la commande est la suivante :

sudo vbetool dpms off

Pour reprendre le contrôle de la console en appuyant sur Entrez clé, je suggère

sudo sh -c 'vbetool dpms off; read ans; vbetool dpms on'

51voto

Glauber Cardoso Points 697

Essayez ces commandes...

Pour éteindre :

xset -display :0.0 dpms force off 

Pour l'allumer :

xset -display :0.0 dpms force on 

Si votre écran s'éteint puis se rallume immédiatement, essayez ce qui suit qui ajoute un délai d'une seconde avant d'éteindre l'écran. Cela donne une chance à tous les événements d'être traités par le serveur X avant d'éteindre l'écran.

sleep 1 && xset -display :0.0 dpms force off

43voto

Jon Kruger Points 1338

El xset La commande mentionnée dans d'autres réponses éteindra tous les moniteurs si vous avez une configuration à plusieurs moniteurs. Cependant, si vous souhaitez désactiver un ou plusieurs moniteurs, vous devez utiliser la commande suivante xrandr .

Première manche xrandr -q qui listera tous les moniteurs et leurs paramètres d'affichage actuels. Au début des détails de chaque moniteur, vous trouverez le nom du moniteur défini par le système. Vous devez en tenir compte.

J'ai deux moniteurs (l'un est connecté au port DVI et l'autre au port VGA) et lorsque je lance la commande, je vois ceci :

Screen 0: minimum 320 x 200, current 1360 x 768, maximum 2726 x 2726
DFP1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
   1360x768       59.7*+
   ... (more details are shown here, but I have hidden it)

CRT1 connected 1360x768+0+0 (normal left inverted right x axis y axis) 410mm x 230mm
   1360x768       59.8*+   60.0  
   ... (more details are shown here, but I have hidden it)

Dans cette sortie, le moniteur connecté au port DVI est étiqueté comme étant DFP1 et d'autres comme CRT1 . Donc, si je veux désactiver le moniteur secondaire (c'est-à-dire , CRT1 ) J'ai exécuté cette commande :

xrandr --output CRT1 --off

si vous voulez rallumer ce moniteur, vous devez exécuter cette commande :

xrandr --output CRT1 --auto

32voto

AxeAR Points 418

Je viens d'installer Ubuntu Server 18.04.1 (sans GUI, X, ni rien de graphique), et après m'être cassé le dos hier soir en essayant d'éteindre l'écran, j'ai enfin trouvé la commande magique :

setterm --blank 1

Après l'exécution de la commande, l'écran s'éteindra automatiquement toutes les minutes (en cas d'inactivité).


Et mieux encore, si vous voulez que la commande soit exécutée automatiquement au démarrage, vous pouvez l'ajouter à la commande Grub ligne de commande Pour ce faire, nous devons modifier le fichier suivant :

sudo nano /etc/default/grub

Une fois là, il suffit d'ajouter consoleblank=60 a GRUB_CMDLINE_DEFAULT il devrait ressembler à ceci :

GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=60"

Ensuite, fermez le fichier et sauvegardez-le, après quoi il suffit d'exécuter sudo update-grub y voila A chaque démarrage, l'écran s'éteint automatiquement toutes les 60 secondes (encore une fois, en cas d'inactivité).

Et de cette façon (en ajoutant le consoleblank au Grub) fonctionne même à partir de terminaux distants (ssh).

Profitez-en ! (encore)

9voto

Marek Vach Points 91

Écran vide après 1 minute et extinction après 2 minutes. Toute pression sur une touche le rallume. Faites-le démarrer automatiquement après un redémarrage.

La commande magique qui fera tout le travail :

setterm --blank 1 --powerdown 2

Si vous obtenez l'erreur : setterm : terminal xterm-256color ne supporte pas --blank

  • Vous essayez probablement cette commande par SSH. Vous devez l'exécuter depuis le local de votre machine, ou faire l'étape suivante de ce guide.

Le faire démarrer automatiquement

Insérer une commande dans le fichier exécutable. Stockez-le par exemple dans le dossier caché de votre répertoire personnel /home/USER/.boot-scripts/screen-off.sh

#!/bin/bash
setterm --blank 1 --powerdown 2

Et rendre le fichier script exécutable par systemctl. Créer le fichier /etc/systemd/system/screen-off.service

[Unit]
Description=Blank screen after 1 min and turn it off after 2 min. Any keypress will turn it back on.
After=ssh.service

[Service]
Type=oneshot
Environment=TERM=linux
StandardOutput=tty
TTYPath=/dev/console
ExecStart=/home/USER/.boot-scripts/screen-off.sh

[Install]
WantedBy=local.target

Rendez-le exécutable :

    sudo chmod +x /home/USER/.boot-scripts/screen-off.sh
    sudo chmod +x /etc/systemd/system/screen-off.service

Et enfin le faire fonctionner et l'activer au démarrage :

sudo systemctl start screen-off.service
sudo systemctl enable screen-off.service

Pour le désactiver :

sudo systemctl disable screen-off.service

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X