
Utilizo xset para apagar mis pantallas de esta manera:
xset dpms force off
¿Hay alguna manera de apagar una sola pantalla cuando tienes más de una asociada con la misma pantalla X?
Respuesta1
Si está utilizando Ubuntu Desktop, debería poder usar Sistema> Preferencias> Monitores. Esto debería mostrar todos sus monitores, haga clic en el que desea desactivar y luego use los botones de radio "encendido/apagado" para desactivar ese monitor específico.
Si desea hacer esto desde la línea de comando, debería poder usar xrandr --output <name> --off
para deshabilitar la salida, lo que debería hacer que el monitor se apague.
Respuesta2
Problema con la respuesta existente
Aunque hubo una respuesta hace siete años con tres votos a favor, no fue aceptada porque hace que todas las ventanas abiertas en la pantalla apagada migren a las pantallas activas restantes.
Brillo basado en software
En una computadora portátil puedes 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. Ponerlo a cero es lo más parecido a la ilusión de apagarlo mientras se mantienen 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 monitores asignados por xrandr
. Ahora, si desea desactivar DP-1-1
el brillo, utilice:
xrandr --output DP-1-1 --brightness 0
Guión de bash de TV Sony
Aquí está 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íassony 0
Llamar al script sin parámetros
Cuando llama al script sin parámetros, muestra el xrandr
nombre de la pantalla junto con el brillo actual en rojo. Puedes 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 a 1
:
2
para verde3
para naranja4
para azul, etc.
Modificar e instalar script
Cambie las dos apariciones de HDMI-0
para que coincidan con su nombre de usuario. Puede obtener una lista de todas sus pantallas escribiendo xrandr
en la terminal.
Coloque el script en un directorio en su ruta, como por ejemplo:
/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 /usr/local/bin
debes usar sudo
poderes. Una mejor alternativa es utilizar el directorio ~/bin
que es una abreviatura de /home/YourUserID/bin
:
- crear el directorio
~/bin
- Cierra tu terminal y vuelve a abrirla.
- el directorio recién creado ahora está en su ruta.
- Todos los scripts que cree
~/bin
se pueden crear con sus permisos habituales. - para permitir la ejecución de sus scripts solo necesita usar
chmod +x
en lugar dechmod a+x
(a
es decir, todos los usuarios)