Problema con la risposta esistente
Sebbene ci sia stata una risposta sette anni fa con tre voti positivi, non è stata accettata perché fa migrare tutte le finestre aperte sul display spento ai rimanenti display attivi.
Luminosità basata su software
Su un laptop è possibile controllare la luminosità tramite la scheda grafica che controlla il pannello LCD. Con TV e monitor esterni hai bisogno di una soluzione software per abbassare la luminosità a 0. Portandola a zero è la più vicina Sono arrivato all'illusione di spegnerla mantenendo le finestre attive su quel display esterno.
Versione breve
Dalla riga di comando (senza script) utilizzare:
$ 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
Questo mostra l'elenco dei nomi dei monitor assegnati da xrandr
. Ora, se si desidera DP-1-1
disattivare la luminosità, utilizzare:
xrandr --output DP-1-1 --brightness 0
Script TV di Sony TV
Ecco uno dei tre script che ho scritto:
#!/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"
Per disattivare il display si utilizzerà sony 0
Chiamata di script senza parametri
Quando si chiama lo script senza parametri, viene visualizzato il xrandr
nome della schermata insieme alla luminosità corrente in rosso. Puoi cambiare il colore rosso in un altro modificando questa riga:
echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
Dopo aver setaf
modificato il 1
in:
2
per il verde
3
per l'arancia
4
per blu, ecc.
Modifica e installazione di script
Modificare le due occorrenze di HDMI-0
in modo che corrispondano al nome visualizzato. È possibile ottenere un elenco di tutte le schermate digitando xrandr
nel terminale.
Inserisci lo script in una directory nel tuo percorso come:
/usr/local/bin/sony
Contrassegna lo script come eseguibile utilizzando:
sudo chmod a+x /usr/local/bin/sony
Scegliere quale directory: /usr/local/bin
vs~/bin
Quando si creano script, /usr/local/bin
è necessario utilizzare i sudo
poteri. Un'alternativa migliore è usare la directory ~/bin
che è una scorciatoia per /home/YourUserID/bin
:
- creare la directory
~/bin
- chiudi il tuo terminale e riaprilo.
- la directory appena creata è ora nel tuo percorso.
- tutti gli script che crei
~/bin
possono essere creati con le tue autorizzazioni regolari.
- per abilitare l'esecuzione dei tuoi script devi solo usare
chmod +x
piuttosto che chmod a+x
(il a
significato di tutti gli utenti)