Schalten Sie den Monitor über die Befehlszeile aus


59

Ich starte Ubuntu Server auf meinem Laptop. Es gibt wirklich keinen Grund, warum der Bildschirm eingeschaltet sein sollte. Ich habe versucht, diesen Befehl zu verwenden, um den Bildschirm auszuschalten:

sleep 1 && xset dpms force off

Das Problem ist, ich bekomme folgenden Fehler

unable to open display "".

Irgendeine Idee, was los ist / was nicht stimmt? Irgendwelche anderen Vorschläge, wie man das macht?


Haben Sie einen X-Server installiert? Und es läuft?
Enzotib

@enzotib Ich glaube, es ist installiert. Was das Laufen angeht, bin ich mir nicht sicher. Wie kann ich überprüfen?
AngryBird

1
Versuchen Sie es zuerst:export DISPLAY=:0.0
RobinJ

Nicht-Null-Ausgabe von dpkg -l | grep xserver-xorginstalliert werden. Nicht-Null-Ausgabe von ausgeführt pgrep -fl Xwerden. Übrigens, wenn Sie laufen, sollten Sie in einer grafischen Sitzung sein.
Enzotib

1
@ WarriorIng64: Es ist ein Laptop
Enzotib

Antworten:


59

Der Befehl zum Ausschalten des Monitors in der Konsole lautet wie folgt:

sudo vbetool dpms off

Ich schlage vor, die Steuerung der Konsole durch Drücken der Eingabetaste wiederherzustellen

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

2
Dann möchten Sie dieses Los wahrscheinlich als Alias ​​für etwas Handliches verwenden.
Danny Staple

1
vbetool ist verfügbar übersudo apt-get install vbetool
David Clarke

1
In meinem Fall hat dieser Befehl das Display wirklich ausgeschaltet und nicht den xsetone
golimar 10.02.17

Seltsamerweise schaltet der Befehl 2 von 3 Anzeigen aus, die dritte bleibt für eine Weile weiß, bevor der Computer von selbst neu gestartet wird, wenn der Befehl über ssh ausgeführt wurde.
Danba

@enzotib, ich habe versehentlich geklickt, um abzustimmen, sorry. Bitte bearbeite ein wenig die Antwort auf Ich kann die Ablehnung entfernen.
andras.tim

32

Probieren Sie diese Befehle aus ...

Ausschalten:

xset -display :0.0 dpms force off 

Zum Einschalten:

xset -display :0.0 dpms force on 

Wenn sich Ihr Bildschirm ausschaltet und sofort wieder einschaltet, versuchen Sie Folgendes, wobei eine Verzögerung von 1 Sekunde hinzugefügt wird, bevor Sie den Bildschirm ausschalten. Auf diese Weise können alle Ereignisse vom X-Server verarbeitet werden, bevor die Anzeige ausgeschaltet wird.

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

Woher weiß ich, welcher Bildschirm welcher ist
Karl Morrison

1
Folgendes funktionierte für mich (auch teilweise inspiriert von @ enzotibs Antwort ):xset -display $DISPLAY dpms force off; read temp; xset -display $DISPLAY dpms force on
stiemannkj1

Sei vorsichtig damit. Ich kann meinen Monitor mit einem Testgerät nach der Ausstellung nicht wieder force off
einschalten

2
Update: Durch Herausziehen und erneutes Anschließen aller Kabel (einschließlich der Stromversorgung) am Monitor wurde die Situation behoben.
Zmart

27

Der xsetin anderen Antworten erwähnte Befehl schaltet alle Monitore aus, wenn Sie mehrere Monitore einrichten. Wenn Sie jedoch nur einen oder mehrere Monitore ausschalten möchten, sollten Sie diesen verwenden xrandr.

Führen Sie zuerst den xrandr -qBefehl aus, der alle Monitore und ihre aktuellen Anzeigeeinstellungen auflistet. Zu Beginn der einzelnen Monitordetails finden Sie den vom System festgelegten Monitornamen. Das muss man im Auge behalten.

Ich habe zwei Monitore (einer ist mit dem DVI-Anschluss und einer mit dem VGA-Anschluss verbunden) und wenn ich den Befehl ausführe, sehe ich Folgendes:

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)

In diesem Ausgang ist der an den DVI-Anschluss angeschlossene Monitor als DFP1und der andere als gekennzeichnet CRT1. Wenn ich also den sekundären Monitor ausschalten möchte (dh CRT1), habe ich diesen Befehl ausgeführt:

xrandr --output CRT1 --off

Wenn Sie den Monitor wieder einschalten möchten, müssen Sie den folgenden Befehl ausführen:

xrandr --output CRT1 --auto

Ich habe 3 Monitore, 1 VGA, 1 DVI und 1 HDMI. Als ich lief: xrandr --output VGA1 --auto, schaltete es das VGA ein, aber es klonte den DVI-Monitor.
ThiagoPonte

Hmm komisch. Versuchen Sie --on statt --auto
Harshith JV

@ HarshithJ.V. das ist eine gute antwort! Es ist besser als das , xsetweil xset einschaltet , wenn Sie nur das Touchpad usw. Btw drücken hoffen , dass Sie mich aus Ihrem früheren Unternehmen merken :-)
Nishant

@ Nishant Danke für die Komplimente. Seltsamerweise erinnere ich mich nicht an dich. Bitte pingen Sie mich in anderen sozialen Medien an, da wir nicht darüber sprechen können, da dies gegen die Regeln verstößt.
Harshith JV

Wenn Sie einen crtc-Fehler haben, geben Sie "chvt 7" vor dem Befehl xrandr ein, sodass "chvt 7 && xrandr -d: 0 --output eDP1 --auto"
haytham-med haytham

11

Ich habe gerade Ubuntu Server 18.04.1 installiert (keine grafische Benutzeroberfläche, kein X) und nachdem ich mir letzte Nacht den Rücken gebrochen hatte, als ich versuchte, den Bildschirm auszuschalten, fand ich endlich den magischen Befehl:

setterm --blank 1

Nach der Ausführung des Befehls wird der Bildschirm jede Minute automatisch ausgeschaltet (falls inaktiv).


Und noch besser, wenn der Befehl beim Booten automatisch ausgeführt werden soll, können Sie ihn zur GRUB- Befehlszeile hinzufügen. Dazu müssen Sie die nächste Datei bearbeiten:

sudo nano /etc/default/grub

Dort angekommen, fügen Sie einfach consoleblank=60zu GRUB_CMDLINE_DEFAULT, es sollte wie folgt aussehen:

GRUB_CMDLINE_LINUX_DEFAULT="quiet consoleblank=60"

Dann schließen Sie die Datei und speichern Sie es, danach nur laufen sudo update-grubund voila , Sie jedes Mal booten der Bildschirm schaltet sich automatisch alle 60 Sekunden. (wieder, wenn im Leerlauf).

Und diese Methode (Hinzufügen des Consoleblanks zu GRUB) funktioniert auch von Remote-Terminals (ssh) aus.

Genießen! (nochmal)


1
Wenn ich den obigen Befehl ausführe, bekomme ich: "setterm: terminal xterm-256color unterstützt --blank nicht". Was kann falsch sein?
zx485

1
Versuchen Sie es von einer Remote-Sitzung aus?
Boy Graffity

@ zx485 Überprüfen Sie die aktualisierte Antwort. Jetzt können Sie den Bildschirm von einer Remotesitzung aus deaktivieren. Ich bin sicher, dies wird Ihr Problem lösen
Boy Graffity

6

Wenn Sie mehrere Monitore haben, verwenden Sie Folgendes:

Ausschalten Ihres zweiten Monitors:
(Angenommen, CRT-0 ist Ihr linker Monitor und CRT-1 ist Ihr rechter Monitor.)
xrandr --output CRT-1 --off
Einschalten Ihres zweiten Monitors: Auf
xrandr --output CRT-1 --right-of CRT-0 --auto
diese Weise weiß xrandr, dass der erste Bildschirm nicht dupliziert wird.


Ich habe dies getestet. Das Ausschalten eines Bildschirms ähnelt eher dem Deaktivieren, z. B. ist der Bildschirm immer noch eingeschaltet. Es wird einfach nicht verwendet. Der --offBildschirm kann nicht mit der Ein / Aus-Taste des Bildschirms wieder eingeschaltet werden (da er immer noch eingeschaltet ist / nie ausgeschaltet war). Es hat auch mit meinen Desktop-Anzeigeeinstellungen (vom erweiterten Desktop zu gespiegelten Displays) zu schaffen gemacht. Wenn dies getan würde, um beide Displays auszuschalten, wäre es nicht sicher, ob es einfach wäre, sie wieder einzuschalten, ohne sich bei TTY anzumelden und die Datei monitors.xml zu löschen, wo immer sie sich befindet. Je mehr du weisst.
ThorSummoner

0

Ich hatte das gleiche Problem. Was ich entdeckt habe ist, dass auf meinem Laptop (einem alten Acer Aspire) die Standard-Screentoggle-Taste unterstützt wird. Das könnte so etwas sein fn+F6.

Diese Lösung hat früher wahrscheinlich nicht funktioniert. Ich hoffe, es hilft jedem, der auf dieses Problem stößt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.