
Ich verwende xset, um meine Bildschirme wie folgt auszuschalten:
xset dpms force off
Gibt es eine Möglichkeit, einen einzelnen Bildschirm auszuschalten, wenn mehrere mit demselben X-Display verknüpft sind?
Antwort1
Wenn Sie den Standard-Ubuntu-Desktop verwenden, sollten Sie System > Einstellungen > Monitore verwenden können. Hier sollten alle Ihre Monitore angezeigt werden. Klicken Sie auf den Monitor, den Sie deaktivieren möchten, und deaktivieren Sie diesen Monitor dann mit den Optionsfeldern „Ein/Aus“.
Wenn Sie dies über die Befehlszeile tun möchten, sollten Sie in der Lage sein, xrandr --output <name> --off
die Ausgabe zu deaktivieren, wodurch das Herunterfahren des Monitors ausgelöst werden sollte.
Antwort2
Problem mit vorhandener Antwort
Obwohl es vor sieben Jahren eine Antwort mit drei Upvotes gab, wurde diese nicht akzeptiert, da sie dazu führt, dass alle offenen Fenster auf dem ausgeschalteten Display auf die verbleibenden aktiven Displays migriert werden.
Softwarebasierte Helligkeit
Auf einem Laptop können Sie die Helligkeit über die Grafikkarte steuern, die das LCD-Panel steuert. Bei externen Fernsehern und Monitoren benötigen Sie eine Softwarelösung, um die Helligkeit auf 0 zu reduzieren. Auf Null zu stellen, kommt der Illusion am nächsten, es auszuschalten, während die aktiven Fenster auf diesem externen Display bleiben.
Kurzfassung
Verwenden Sie in der Befehlszeile (ohne Skripte) Folgendes:
$ xrandr | grep " connected"
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1107mm x 623mm
eDP-1-1 connected primary 1920x1080+3840+2160 (normal left inverted right x axis y axis) 382mm x 215mm
DP-1-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 1600mm x 900mm
Hier wird die Liste der von zugewiesenen Monitornamen angezeigt xrandr
. Wenn Sie nun die Helligkeit ausschalten möchten, DP-1-1
verwenden Sie:
xrandr --output DP-1-1 --brightness 0
Skript zur Sony-TV-Kritik
Hier ist eines von drei Skripten, die ich geschrieben habe:
#!/bin/bash
# NAME: sony
# PATH: /mnt/e/bin
# DESC: Set brightness of Sony TV
# DATE: Dec 9, 2017.
if [[ $# -ne 1 ]]; then
xrandr --verbose | grep -A5 "^HDMI-0" > /tmp/sony
head -n1 /tmp/sony
echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
rm /tmp/sony
echo 'One argument required for brightness level, e.g. "sony .63"'
echo 'will set brightness level of Sony TV to level .63 using xrandr'
exit 1
fi
xrandr --output HDMI-0 --brightness "$1"
Um die Anzeige auszuschalten, verwenden Siesony 0
Skript ohne Parameter aufrufen
Wenn Sie das Skript ohne Parameter aufrufen, zeigt es den xrandr
Bildschirmnamen zusammen mit der aktuellen Helligkeit in Rot an. Sie können die rote Farbe in eine andere ändern, indem Sie diese Zeile ändern:
echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
Nach setaf
der Änderung 1
in:
2
für grün3
für Orange4
für Blau usw.
Skript ändern und installieren
Ändern Sie die beiden Vorkommen so, HDMI-0
dass sie Ihrem Bildschirmnamen entsprechen. Sie können eine Liste aller Ihrer Bildschirme erhalten, indem Sie sie xrandr
in das Terminal eingeben.
Platzieren Sie das Skript in einem Verzeichnis in Ihrem Pfad, beispielsweise:
/usr/local/bin/sony
Markieren Sie das Skript als ausführbar mit:
sudo chmod a+x /usr/local/bin/sony
Auswählen des Verzeichnisses: /usr/local/bin
vs~/bin
Wenn Sie Skripte erstellen, /usr/local/bin
müssen Sie Powers verwenden sudo
. Eine bessere Alternative ist die Verwendung des Verzeichnisses ~/bin
, das die Abkürzung für ist /home/YourUserID/bin
:
- Erstellen Sie das Verzeichnis
~/bin
- Schließen Sie Ihr Terminal und öffnen Sie es erneut.
- Das neu erstellte Verzeichnis befindet sich jetzt in Ihrem Pfad.
- Alle von Ihnen erstellten Skripte
~/bin
können mit Ihren regulären Berechtigungen erstellt werden. - Um die Ausführung Ihrer Skripte zu ermöglichen, müssen Sie lediglich
chmod +x
anstelle vonchmod a+x
(dasa
bedeutet alle Benutzer) verwenden.