Сисадминам часто приходится настраивать различные системы мониторинга. Сегодня будем автоматизировать открытие браузера Mozilla Firefox на двух мониторах. Открывать будем в режиме киоска на полный экран.
Начиная с Firefox 71 в браузер добавлена возможность запуска в режиме киоска. Режим киоска выгодно отличается от полноэкранного режима тем, что пользователи не могут вызвать контекстное меню на сенсорном экране и закрыть или свернуть ваше веб-приложение. Показ управляющих элементов интерфейса, всплывающих окон, контекстных меню и индикаторов состояния загрузки страницы блокируется. В общем, то что доктор прописал.
Не забудьте отключить режим энергосбережения, ожидания, сна и блокировку экрана.
https://support.mozilla.org/ru/kb/rezhim-kioska-v-korporativnom-firefox
Я всю эту байду буду настраивать в обычном браузере Firefox 103.0.1 (64 бита).
Два профиля
Я не нашёл нормальных опций браузера Firefox для указания монитора в Windows или позиции экрана, поэтому воспользуюсь тем, что браузер запоминает последнюю позицию окна при закрытии. Впоследствии окно открывается на том же мониторе, на котором оно было открыто. Раз у нас два монитора, то и профиля потребуется два. Создадим два профиля в браузере.
Создаём профили в командной строке под администратором:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" --createprofile "kiosker %APPDATA%\kiosk3"
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" --createprofile "kioskus %APPDATA%\kiosk4"
При этом браузер не запускается, просто создаются профили "kiosker" и "kioskus" по указанному пути "%APPDATA%\kiosk3" и "%APPDATA%\kiosk4". Я пытался сначала назвать профили kiosk3 и kiosk4, но почему-то цифры в именах профилей Firefox не любит.
Управление скриптами
В командной строке откроем браузер на нужных нам страницах под разными профилями, пока без режима киоска:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kiosker" --new-window https://internet-lab.ru
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kioskus" --new-window https://zen.yandex.ru/internet_lab
- -P "kiosker" — профиль первого пользователя
- -P "kioskus" — профиль второго пользователя
- --new-window — открыть в новом окне
Откроется два окна браузера. Вот только там для новых пользователей будет куча лишних вкладок. Знакомимся с рекламой и закрываем лишние вкладки. И потом закрываем вообще все вкладки. Снова выполняем тот же код:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kiosker" --new-window https://internet-lab.ru
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kioskus" --new-window https://zen.yandex.ru/internet_lab
Откроется два окна браузера. И браузер начнёт спрашивать, не хотим ли мы его сделать браузером по умолчанию. Ставим галку "не показывать больше это окно". И в третий раз выполняем тот же код:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kiosker" --new-window https://internet-lab.ru
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kioskus" --new-window https://zen.yandex.ru/internet_lab
В итоге у меня открылось только два нужных окна. Мышкой перемещаем одно окно на первый монитор, второе — на второй. Закрываем окна. Вот теперь браузер запомнил расположение окон для каждого из профилей, можно добавлять режим киоска.
- --kiosk — режим киоска
Пример кода для BAT файла:
@echo off
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kiosker" --kiosk --new-window https://internet-lab.ru
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kioskus" --kiosk --new-window https://zen.yandex.ru/internet_lab
Теперь окна откроются на полный экран в режиме киоска на разных мониторах.
Траблшутинг
Если вы используете ссылки с параметром, то экранируйте спецсимволы, например:
@echo off
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kiosker" --kiosk --new-window https://internet-lab.ru/rubric?order=name^&sort=asc
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kioskus" --kiosk --new-window https://internet-lab.ru/rubric?order=name^&sort=deck
Ярлыки окон
Те же параметры можно использовать в ярлыках.
На рабочем столе создаём иконку для Mozilla Firefox, копируем, например. Переименуем её, в "kiosk 3". Создадим копию, пусть будет "kiosk 4".
Правой кнопкой на первый ярлык, Свойства. Смотрим поле Объект (Target):
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
Меняем на:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kiosker" --kiosk --new-window https://internet-lab.ru
У второго ярлыка:
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -P "kioskus" --kiosk --new-window https://zen.yandex.ru/internet_lab
Теперь одна иконка откроет браузер в режиме киоска на левом мониторе, а вторая — на правом. Закрыть окно браузера можно с помощью Alt + F4 или Ctrl + W.