Сисадминам часто приходится настраивать различные системы мониторинга. Сегодня будем автоматизировать открытие браузера Google Chrome в Windows на двух мониторах. Открывать будем в режиме киоска на полный экран.
Режим киоска выгодно отличается от полноэкранного режима тем, что пользователи не могут вызвать контекстное меню на сенсорном экране и закрыть или свернуть ваше веб-приложение. Клавиша F11 при этом тоже не срабатывает, кнопка закрытия окна отсутствует, дополнительная панель не выводится. Строка состояния не видна, ссылки при наведении не отображаются. В общем, то что доктор прописал.
Не забудьте отключить режим энергосбережения, ожидания, сна и блокировку экрана.
Два профиля
На диске C: создаём два папки. Имя диска и путь не принципиальны, главное, чтобы разные были. Я создаю папки:
C:\kiosk1 C:\kiosk2
Здесь у нас будут храниться данные профилей браузера для двух разных окон браузера.
Ярлыки окон
На рабочем столе создаём иконку для Google Chrome, копируем, например. Переименуем её, в "kiosk 1". Создадим копию, пусть будет "kiosk 2".
Правой кнопкой на первый ярлык, Свойства. Смотрим поле Объект (Target):
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
Меняем на:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\kiosk1 --kiosk --window-position=0,0 https://internet-lab.ru
- --user-data-dir=c:\kiosk1 — путь к первой папке профиля
- --kiosk — запуск браузера в режиме киоска
- --window-position=0,0 — позиция окна, в данном случае, слева
- https://internet-lab.ru — первый URL
У второго ярлыка:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\kiosk2 --kiosk --window-position=10000,0 https://zen.yandex.ru/internet_lab
- --user-data-dir=c:\kiosk2 — путь ко второй папке профиля
- --kiosk — запуск браузера в режиме киоска
- --window-position=10000,0 — позиция окна, число должно превысить ширину левого монитора, чтобы окно развернулось на правом экране
- https://zen.yandex.ru/internet_lab — второй URL
Теперь одна иконка откроет браузер в режиме киоска на левом мониторе, а вторая — на правом. Закрыть окно браузера можно с помощью Alt + F4 или Ctrl + W.
Управление скриптами
Те же параметры можно использовать в скриптах. Пример кода для BAT файла:
@echo off
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\kiosk1 --kiosk --window-position=0,0 https://internet-lab.ru
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=c:\kiosk2 --kiosk --window-position=10000,0 https://zen.yandex.ru/internet_lab
Первые кавычки используются для заголовка окна, иначе команда с пробелами и параметрами выполнится неверно. Это особенности интерпретатора START.
Траблшутинг
Если вы используете скрипт для нескольких пользователей терминального сервера, то директории C:\kiosk1 совпадут и будут друг другу мешать. Используйте отдельный папки, например:
@echo off
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=%APPDATA%\kiosk1 --kiosk --window-position=0,0 https://internet-lab.ru
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=%APPDATA%\kiosk2 --kiosk --window-position=10000,0 https://zen.yandex.ru/internet_lab
Если вы используете ссылки с параметром, то экранируйте спецсимволы, например:
@echo off
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=%APPDATA%\kiosk1 --kiosk --window-position=0,0 https://internet-lab.ru/rubric?order=name^&sort=asc
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=%APPDATA%\kiosk2 --kiosk --window-position=10000,0 https://internet-lab.ru/rubric?order=name^&sort=desc
Если нужно перезапускать окна каждый раз при запуске BAT файла, то можно предварительно завершать предыдущие сеансы:
@echo off
taskkill /im chrome.exe /f
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=%APPDATA%\kiosk1 --kiosk --window-position=0,0 https://internet-lab.ru/rubric?order=name^&sort=asc
start "" "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=%APPDATA%\kiosk2 --kiosk --window-position=10000,0 https://internet-lab.ru/rubric?order=name^&sort=desc
Если белый экран. Может не хватать видеопамяти для отрисовки окна. В настройках хрома в разделе Система снимаем галки:
- Использовать аппаратное ускорение
- Не отключать работающие в фоновом режиме сервисы при закрытии браузера