Проблема с существующим ответом
Хотя семь лет назад был ответ с тремя голосами «за», он не был принят, потому что он заставляет все открытые окна на отключенном дисплее переходить к оставшимся активным дисплеям.
Программная яркость
На ноутбуке вы можете управлять яркостью с помощью графической карты, управляющей ЖК-панелью. С внешними телевизорами и мониторами вам нужно программное решение, чтобы уменьшить яркость до 0. Приближение его к нулю - это самое близкое, что у меня возникла иллюзия его выключения при сохранении активных окон на этом внешнем дисплее.
Укороченная версия
Из командной строки (без скриптов) используйте:
$ 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
Показывает список имен мониторов, назначенных xrandr. Теперь, если вы хотите DP-1-1отключить яркость, используйте:
xrandr --output DP-1-1 --brightness 0
Sony TV Bash скрипт
Вот один из трех сценариев, которые я написал:
#!/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"
Чтобы выключить дисплей, вы бы использовали sony 0
Вызов скрипта без параметров
Когда вы вызываете скрипт без параметров, он отображает xrandrимя экрана вместе с текущей яркостью красным цветом. Вы можете изменить красный цвет на другой, изменив эту строку:
echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
После setafизменения на 1:
2 для зеленого
3 для апельсина
4 для синего и т. д.
Модификация и установка скрипта
Измените два вхождения HDMI-0в соответствии с вашим псевдонимом. Вы можете получить список всех ваших экранов, набрав xrandrв терминале.
Поместите скрипт в каталог по вашему пути, например:
/usr/local/bin/sony
Пометьте скрипт как исполняемый файл, используя:
sudo chmod a+x /usr/local/bin/sony
Выбор какой директории: /usr/local/binvs~/bin
При создании сценариев /usr/local/binвы должны использовать sudoполномочия. Лучшей альтернативой является использование каталога, ~/binкоторый является сокращением для /home/YourUserID/bin:
- создать каталог
~/bin
- закройте свой терминал и снова откройте его.
- Недавно созданный каталог находится на вашем пути.
- все сценарии, в которых вы создаете,
~/binмогут быть созданы с вашими обычными разрешениями.
- чтобы включить выполнение ваших скриптов, вам просто нужно использовать,
chmod +xа не chmod a+x(то aесть все пользователи)