Problema con la respuesta existente
Aunque hubo una respuesta hace siete años con tres votos positivos, no fue aceptada porque hace que todas las ventanas abiertas en la pantalla de cierre migren a las pantallas activas restantes.
Brillo basado en software
En una computadora portátil puede controlar el brillo a través de la tarjeta gráfica que controla el panel LCD. Con televisores y monitores externos, necesita una solución de software para reducir el brillo a 0. Girarlo a cero es lo más cercano que he llegado a la ilusión de apagarlo mientras mantiene las ventanas activas en esa pantalla externa.
Version corta
Desde la línea de comando (sin scripts) use:
$ 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
Esto le muestra la lista de nombres de monitor asignados por xrandr
. Ahora, si desea DP-1-1
desactivar el uso del brillo:
xrandr --output DP-1-1 --brightness 0
Guión Sony TV bash
Aquí hay uno de los tres guiones que he escrito:
#!/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"
Para apagar la pantalla usaría sony 0
Script de llamada sin parámetros
Cuando llama al script sin parámetros, muestra el xrandr
nombre de la pantalla junto con el brillo actual en rojo. Puede cambiar el color rojo a otro modificando esta línea:
echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
Después de setaf
cambiar el 1
a:
2
para el verde
3
para naranja
4
para azul, etc.
Modificar e instalar script
Cambie las dos apariciones de HDMI-0
para que coincidan con su nombre de pantalla. Puede obtener una lista de todas sus pantallas escribiendo xrandr
en la terminal.
Coloque el script en un directorio en su ruta como:
/usr/local/bin/sony
Marque el script como ejecutable usando:
sudo chmod a+x /usr/local/bin/sony
Elegir qué directorio: /usr/local/bin
vs~/bin
Cuando creas scripts en /usr/local/bin
debes usar sudo
poderes. Una mejor alternativa es usar el directorio ~/bin
que es la abreviatura de /home/YourUserID/bin
:
- crear el directorio
~/bin
- cierre su terminal y vuelva a abrirlo.
- el directorio recién creado ahora está en su camino.
- Todas las secuencias de comandos que cree
~/bin
se pueden crear con sus permisos habituales.
- para permitir la ejecución de sus scripts solo necesita usar en
chmod +x
lugar de chmod a+x
(el a
significado de todos los usuarios)