Задать вопрос
gnifajio
@gnifajio
Совершенствуюсь каждый день

Как создать виртуальный дисплей?

Я задумал написать скрипт на Python для создания виртуального сетевого дисплея.
Мне нужна возможность переносить окна программ на другой монитор, а как заставить Windows думать что к ней подключен еще один дисплей, я не знаю. К тому же мне нужно делать скриншот / записывать видео именно с этого дисплея.
Я пытался найти ответ на этот вопрос в интернете, но тщетно. Я знаю, что это похоже на копию этого вопроса, но там есть две проблемы:
  1. Мне не улыбается использовать OBS
  2. Там не рабочая ссылка

Так же мне нужно что бы мой скрипт был portable iOS не работаю, по этому можете не парится на счет этого).
  • Вопрос задан
  • 3736 просмотров
Подписаться 2 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rPman
питон тут однозначно не подойдет

для windows:
Без использования драйверов фейкового монитора, но при наличии физических выходов на видеокарте, можно к ним подключить заглушку (она дешевая, разная для каждого типа разъемов, гуглить эмулятор заглушка терминатор монитора dsub/hdmi/dp), благодаря которой система будет считать что монитор подключен, и уже средствами ОС работать с этим монитором (само собой чтобы самому видеть содержимое придется поставить какой-нибудь vnc с поддержкой мультимониторной конфигурации)

Есть бесплатный враппер (это не кряк а утилита использующая штатный win api), которая превращает рабочие ревизии windows в сервер терминалов (позволяет подключиться mstsc одновременно несколько сессий а не только одну), фокус к сожалению будет убегать но можно сделать каскадные подключения

Есть ibik aster, платная утилита, позволяющая из одного компьютера с несколькими мониторами, клавиатурами, мышками полноценные рабочие места на не серверных ревизиях windows, т.е. в совокупности с заглушкой из машины можно сделать несколько рабочих мест, на каждом запускать приложение и каждое рабочее место будет иметь свой фокус, т.е. приложения будут одновременно активны.

(после win8 лицензия стала запрещать использовать компьютер с такими ревизиями больше чем одному человеку, даже игры splitscreen, следовать ли этому бредовому требованию - на вашей совести, технических ограничений нет)

рекомендую если надо запускать браузеры с автоматизацией и без потери фокуса, дешевле по памяти
для linux:
вот пример создания виртуальных мониторов программно (там более сложный случай описывается)

так же можно установить несколько xserver, работающих в оперативной памяти - vfb, это будут полноценные рабочие места, работающие исключительно в оперативной памяти (подключение например по vnc)

и есть xephyr, версия xserver, работающая внутри окна (т.е. буквально выбираешь любое окно, хоть фейковое и говоришь - заменить изображение окна полноценным xserver, мышка и клавиатура будут общими но можно настроить (так делают multiseat на одной видеокарте с несколькими видеовыходами)
Ответ написан
Комментировать
Maxlinus
@Maxlinus
у UltraVNC есть такой драйвер

скачать отдельно https://disk.yandex.ru/d/o0-hIO9xnzyvqQ
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы