Désactiver le moniteur en utilisant la ligne de commande

60

Je lance 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 j'obtiens l'erreur suivante

unable to open display "".

Une idée de ce qui se passe / qu'est-ce qui ne va pas? Avez-vous d'autres suggestions sur la façon de procéder?

Oiseau en colère
la source
Avez-vous un serveur X installé? Et ça court?
enzotib
@enzotib Je crois qu'il est installé. Pour ce qui est de courir, je ne suis pas sûr. Comment puis-je vérifier?
AngryBird
1
Essayez de export DISPLAY=:0.0
lancer
Sortie non nulle de dpkg -l | grep xserver-xorgà installer. Une sortie non nulle de pgrep -fl Xà être en cours d'exécution. Au fait, si vous courez, vous devriez être dans une session graphique.
enzotib
1
@ WarriorIng64: c'est un ordinateur portable
enzotib

Réponses:

59

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 la touche Entrée , je suggère

sudo sh -c 'vbetool dpms off; read ans; vbetool dpms on'
enzotib
la source
2
Vous voudrez probablement alors aliaser ce lot en quelque chose de pratique.
Danny Staple le
1
vbetool est disponible viasudo apt-get install vbetool
David Clarke
1
Dans mon cas, cette commande a vraiment désactivé l'affichage et non celui- xsetci
Golimar 10/02/17
Curieusement, la commande éteint 2 des 3 écrans, le troisième restant en blanc pendant un moment avant que la machine ne redémarre d'elle-même si la commande a été exécutée sur ssh.
Danba
@enzotib, j'ai cliqué accidentellement sur pour passer au vote précédent, désolé. S'il vous plaît éditer un peu la réponse à je peux supprimer le vote négatif.
andras.tim
32

Essayez ces commandes ...

Éteindre:

xset -display :0.0 dpms force off 

Pour allumer:

xset -display :0.0 dpms force on 

Si votre écran s'éteint puis se rallume immédiatement, essayez ce qui suit, ce 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'affichage.

sleep 1 && xset -display :0.0 dpms force off 
Glauber Cardoso
la source
Comment savoir quel écran est lequel
Karl Morrison
1
Ce qui suit a fonctionné pour moi (également partiellement inspiré par la réponse de @ enzotib ):xset -display $DISPLAY dpms force off; read temp; xset -display $DISPLAY dpms force on
stiemannkj1
Sois prudent avec ça. Je ne parviens pas à force off
rallumer
2
Mise à jour: Le débranchement et le rebranchement de tous les câbles (y compris l'alimentation) du moniteur ont résolu le problème.
Zmart
27

La xsetcommande mentionnée dans d'autres réponses éteindra tous les moniteurs si vous avez plusieurs moniteurs. Toutefois, si vous souhaitez désactiver uniquement un ou plusieurs écrans, utilisez-les xrandr.

Première xrandr -qcommande d' exécution , qui répertorie tous les moniteurs et ses paramètres d'affichage actuels. Au début de chaque détail du moniteur, vous trouverez le nom du moniteur défini par le système. Vous devez suivre cela.

J'ai deux moniteurs (l'un est connecté au port DVI et l'autre au port VGA) et lorsque j'exécute 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 DFP1et l’autre comme CRT1. Donc, si je veux éteindre le moniteur secondaire (c'est-à-dire CRT1), j'ai exécuté cette commande:

xrandr --output CRT1 --off

si vous voulez réactiver ce moniteur, alors vous avez exécuté cette commande:

xrandr --output CRT1 --auto
Harshith JV
la source
J'ai 3 moniteurs, 1 VGA, 1 DVI et 1 HDMI. Quand j'ai exécuté: xrandr --output VGA1 --auto, le VGA était activé, mais le moniteur DVI était cloné.
ThiagoPonte
Hmm étrange. Essayez --on au lieu de --auto
Harshith JV
@ HarshithJ.V. c'est une bonne réponse! C'est mieux que xsetparce que xset s'allume si vous appuyez simplement sur le pavé tactile, etc. Nous espérons que vous vous souviendrez de votre société précédente :-)
Nishant
@Nishant Merci pour les compliments. Étrangement, je ne me souviens pas de vous. S'il vous plaît envoyez-moi une requête sur n'importe quel autre réseau social, car nous ne pouvons pas discuter car c'est contre les règles.
Harshith JV
Si vous rencontrez une erreur crtc, tapez "chvt 7" avant la commande xrandr, de sorte qu'il se lise "chvt 7 && xrandr -d: 0 --output eDP1 --auto"
haytham-med haytham
12

Je viens d'installer Ubuntu Server 18.04.1 (aucune interface graphique, X, ni graphique), et après m'être cassé le dos la nuit dernière en essayant d'éteindre l'écran, j'ai finalement trouvé la commande magique:

setterm --blank 1

Après l'exécution de la commande, l'écran s'éteindra automatiquement toutes les minutes (s'il est inactif).


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

sudo nano /etc/default/grub

Une fois là-bas, ajoutez simplement consoleblank=60à GRUB_CMDLINE_DEFAULT, cela devrait ressembler à ceci:

GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=60"

Fermez ensuite le fichier et enregistrez-le. Après cela, exécutez-le sudo update-grubet le tour est joué : à chaque démarrage, l'écran s'éteindra automatiquement toutes les 60 secondes. (encore, si inactif).

Et de cette façon (l'ajout de consoleblank au GRUB) fonctionne même à partir de terminaux distants (ssh).

Prendre plaisir! (encore)

Garçon Graffity
la source
1
En exécutant la commande ci-dessus, je reçois: "setterm: terminal xterm-256color ne supporte pas --blank". Qu'est-ce qui ne va pas?
Zx485
1
Essayez-vous d'une session à distance?
Boy Graffity
@ zx485 Découvrez la réponse mise à jour, vous pouvez maintenant éteindre l'écran à partir d'une session à distance. Je suis sûr que cela résoudra votre problème
Boy Graffity Le
6

Si vous avez plusieurs moniteurs, utilisez ceci:

Eteindre votre deuxième moniteur:
(En supposant que CRT-0 soit votre moniteur gauche et CRT-1, votre moniteur droit)
xrandr --output CRT-1 --off
Allumer votre deuxième moniteur: Ainsi
xrandr --output CRT-1 --right-of CRT-0 --auto
, xrandr sait ne pas dupliquer le premier écran.

Ver brun
la source
Je testais ceci, éteindre un écran de cette façon revient plutôt à le désactiver, par exemple, l'écran est toujours allumé. Ce n'est tout simplement pas utilisé. L' --offécran 'd ne peut pas être rallumé avec le bouton d'alimentation de l'écran (car il est toujours allumé / n'a jamais été éteint). Il a également gâché les paramètres d'affichage de mon bureau (du bureau étendu aux affichages en miroir). Si cela était fait pour éteindre les deux écrans, je ne suis pas sûr qu'il serait facile de les rallumer sans se connecter à TTY et effacer le fichier moniteurs.xml où qu'il se trouve. Plus vous en savez.
ThorSummoner
0

J'avais le même problème. Ce que j’ai découvert, c’est que sur mon ordinateur portable (un vieil acer aspire), le bouton d’analyse par défaut est pris en charge. Cela pourrait être quelque chose comme fn+F6.

Cette solution n'a probablement pas fonctionné dans la journée. J'espère que cela aidera tout le monde qui rencontre ce problème.

DutchJelly
la source