К ПК подключено несколько дисплеев, например, AB C. Как я могу вызвать реконфигурацию дисплея на основе обратного отсчета. Я бы хотел, чтобы дисплей A был активным с 6 до 13 часов, дисплей B с 13 до 17 часов и дисплей C с 17 до 6 часов. Рабочий стол всегда должен быть направлен только на активный дисплей.
2 ответа
Если вы соедините MultiMonitorTool с планировщиком заданий, вы сможете добиться своей ротации. Я не использовал его раньше, но в соответствии с параметрами командной строки он должен работать. Возможная команда из командной строки может выглядеть так:
MultiMonitorTool.exe /enable 1 /SetPrimary 1 /disable 2 3
Также есть возможность переместить существующие окна на новый основной дисплей:
/MoveWindow
Вы можете также захотеть посмотреть на параметр /SetNextPrimary
.
Это решение, конечно, только для Windows.
Поскольку ваш вопрос помечен как Linux и Windows, вот решение для Linux.
Вам нужен маленький скрипт, который меняет отображение. Самым простым будет использовать xrand
который либо должен быть уже установлен, либо находится в репозиториях вашего дистрибутива. В маловероятном случае, если он не установлен, вы можете установить его в системах на основе Debian с
sudo apt-get install x11-xserver-utils
После установки xrandr
вам сначала необходимо получить названия ваших дисплеев:
xrandr | grep -w connected | awk '{print $1}'
VGA-0
DP-0
На моем ноутбуке это показывает, что у меня есть два доступных дисплея, ноутбук (DP-0) и экран VGA (VGA-0). Чтобы активировать только ноутбук, я бы запустил:
xrandr --output DP-0 --off --output VGA-0 --auto
Чтобы активировать только VGA и деактивировать ноутбук:
xrandr --output VGA-0 --auto --output DP-0 --off
У меня нет третьего дисплея для подключения, но если ваш третий дисплей называется DP-1, вы можете настроить задание cron
для переключения дисплеев в определенное время следующим образом:
## Activate VGA-0 at 6am
0 6 * * * xrandr --output VGA-0 --auto --output DP-0 --off --output DP-1 --off
## Activate DP-0 at 1pm
0 13 * * * xrandr --output VGA-0 --off --output DP-0 --auto --output DP-1 --off
## Activate DP-1 at 5pm
0 17 * * * xrandr --output VGA-0 --off --output DP-0 --off --output DP-1 --auto
Вы сказали, что хотите, чтобы это выполнялось, когда ни один пользователь не вошел в систему, поскольку пользователь всегда должен входить в систему, когда система работает и работает, я не уверен, что вы имеете в виду. Однако если вы установите cron
как root
(запустив crontab -e
при входе в систему как root
или с помощью sudo
), задание будет запущено, даже если ни один обычный пользователь не вошел в систему.