Моя цель - автоматически отображать полноэкранный веб-контент на нескольких мониторах после загрузки с одного компьютера. Я хотел бы использовать браузер Chrome. Если Chrome не поддерживает это, а Firefox - это будет хорошо.

Операционная система, которую я бы предпочел, - это Windows, если окажется, что Linux возможен, это будет хорошо.

В Windows можно установить положение окна браузера Chrome (--window-position =) и запустить Chrome в полноэкранном режиме (--kiosk). Используя эти опции вместе, вы можете запустить Chrome в полноэкранном режиме на любом из рабочих столов / экранов, подключенных к вашему компьютеру. Мне удалось заставить это работать.

Однако, если я попытаюсь сделать то же самое во второй раз, чтобы на втором экране был полноэкранный режим Chrome, второе окно Chrome откроется поверх первого, независимо от того, какие координаты я использую для параметра --window-position.

Я попытался использовать профили Chrome, скопировать каталог Chrome и запустить второй chrome.exe. Все эти вещи приводят к одинаковому поведению.

4 ответа4

1

Я решил создать свой собственный скрипт powershell на основе вызовов WinApi:

вскоре

Скрипт делает следующее:

  1. Запустите экземпляр Chrome через скрипт
  2. Теперь используйте WinApi, чтобы найти запущенное окно и переместить его на нужный экран.
  3. Отправьте клавишу F11 в перемещенное окно, чтобы сделать его полноэкранным (мы могли бы запустить Chrome уже в полноэкранном режиме, но перемещение окон в этом режиме было бы не так тривиально)
  4. Сделайте то же самое с другими экземплярами, указав необходимый URL.

Мой последний скрипт (определения функций скрыты в Dll и другом вспомогательном скрипте) выглядит следующим образом:

$chromePath = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
$chromeArguments = '--new-window --incognito'

# &taskkill /im chrome* /F 
Chrome-Kiosk 'http://google.com' -MonitorNum 1 
Chrome-Kiosk 'http://http://www.bbc.com/' -MonitorNum 2 
0

Я смог запустить три полноэкранных браузера на трех экранах следующим образом:

  • Установите Google Chrome, Chromium и Google Chrome Canary build. Это три версии браузера Chrome/Chromium, которые можно установить (в Windows) рядом друг с другом.
  • Запустите каждый из браузеров на отдельном экране, используя параметр командной строки --window-position=
  • Используйте параметр командной строки --kiosk чтобы они стали полноэкранными.

Это не очень хорошее решение, поскольку вы можете использовать его максимум для трех экземпляров браузера, но оно работает.

Добавлен совет: добавив следующие дополнительные параметры командной строки, браузер не будет показывать баннеры и нежелательные страницы;

--chrome-frame --disable-first-run-ui --no-default-browser-check --disable-translate
0

Это сработало для меня, используя два монитора:

start C:\Users\terminal\AppData\Local\Google\Chrome\Application\chrome.exe --app="http://www.domain1.com" --window-position=0,0 --kiosk --user-data-dir=c:/monitor1

start C:\Users\terminal\AppData\Local\Google\Chrome\Application\chrome.exe --app="http://www.domain2.com" --window-position=1680,0 --kiosk --user-data-dir=c:/monitor2

Я думаю, что порядок параметров является актуальным.

0

Мне удалось решить это с различными профилями пользователей.

При первой настройке вы запускаете Chrome без режима киоска и со случайным каталогом пользовательских данных. (Это не должно существовать, Chrome создает его.)

chrome.exe --user-data-dir="%userprofile%/AppData/Local/Google/Chrome/User Data/monitor1" "http://example.com/monitor1.html"

Затем переместите его на правильный монитор и снова закройте Chrome. (Позиция сохраняется в профиле пользователя.)

Затем просто запустить его в автозапуске в режиме кисок:

chrome.exe --user-data-dir="%userprofile%/AppData/Local/Google/Chrome/User Data/monitor1" --kiosk "http://example.com/monitor1.html"

Сделайте то же самое для остальных мониторов. Каждый Chrome с другим пользовательским каталогом полностью независим. (Я также использую это, чтобы отдельные настройки прокси в Chrome работали рядом друг с другом.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .