многомониторный публичный информационный дисплей (4 монитора / каждый с одним окном chrome/firefox)

У меня есть 4 монитора, подключенных к ПК под управлением CentOS 7. Каждый физический монитор/дисплей должен отображать веб-сайт в полноэкранном режиме и автоматически обновлять его каждые x секунд.

Я пытался:

  • открытие из bash и перемещение с помощью xdotool -> как я могу отличить 4 окна chrome или firefox? Если я не сделаю этого и не применю к последнему активному, это может стать ненадежным с другими открытыми программами.
  • исследовал Devilspie, кажется, у него та же проблема (не могу различить несколько окон chrome/firefox)
  • используя переменную DISPLAY -> находит только один дисплей 0.0
  • https://addons.mozilla.org/de/firefox/addon/monitor-master/ -> не работает с расширенным рабочим пространством, связался с разработчиком

У меня есть только bash-скрипт xrandr для перестановки дисплеев при их подключении (три из четырех могут быть отключены для экономии энергии).

Я бы использовал дополнение firefox/chrome для функции автоматического обновления.

Может быть, кто-то может дать мне подсказку, как надежно это сделать?


person Marius Pfeffer    schedule 07.07.2016    source источник
comment
Я набираю make chrome auto в Google, и прежде чем я смогу ввести обновление, это первое предложение ... по-видимому, простой плагин автоматического обновления сделает это. ??   -  person ABuckau    schedule 07.07.2016
comment
автообновление не проблема. Я застрял с перемещением правильного окна на координаты. Возможно, запустите его из сценария bash, получите PID и используйте его для xdotool.   -  person Marius Pfeffer    schedule 07.07.2016
comment
Просто перечитайте свой пост. Я сомневаюсь, что вы найдете что-нибудь, что работает, когда монитор (ы) выключен. Надеюсь, кто-то еще ответит и докажет, что я ошибаюсь :)   -  person ABuckau    schedule 07.07.2016
comment
В Firefox я делаю это в своем аддоне NativeShot, не могли бы вы протестировать его, чтобы убедиться, что он открывает окно на каждом мониторе - addons.mozilla.org/en-US/firefox/addon/nativeshot — если все работает правильно, дайте мне знать, и я поделюсь с вами, как мне это удалось. Как вы сейчас получаете информацию обо всех мониторах? Когда монитор выключен, он не должен открывать окно в моем аддоне, так работает код обнаружения нескольких мониторов.   -  person Noitidart    schedule 08.07.2016
comment
да, обнаружение нескольких мониторов работает, в настоящее время я открываю хромированные окна из скрипта Python, использую theri pid и xdotool, чтобы переместить их в нужное положение. Я ищу действительно простое решение.   -  person Marius Pfeffer    schedule 09.07.2016
comment
наконец, через пару часов я нашел решение: overclockers.at/linux_bsd_and_others/   -  person Marius Pfeffer    schedule 09.07.2016


Ответы (1)


В дополнение к плагину Chrome «легкое автоматическое обновление». У меня есть еще одна идея для вас, почему бы не использовать расширение Chrome для обработки позиционирования. Это, конечно, только для хрома (может быть, это нормально для вас).

Предыстория: У нас были связанные трудности. Внутреннее веб-приложение, которое открывает несколько документов в окнах и должно быть размещено на других мониторах. JavaScript не поддерживает это из соображений безопасности, и только собственное расширение может правильно работать с объектами вкладок/окна.

Поэтому мы создали расширение Chrome с открытым исходным кодом, которое делает именно это: гибкое расположение окон в настройках с несколькими мониторами.

В вашем случае вы можете определить для каждого монитора правило веб-сайта, чтобы окно появлялось там.

Расширение Chrome называется «MultiWindow Positioner» и совершенно бесплатно. Вы можете приобрести его в магазине Chrome здесь

Фактический исходный код вы найдете на github в проекте chrome-multiwindow-positioner.

Отказ от ответственности: я являюсь сопровождающим проекта github с открытым исходным кодом (MIT). Если у вас есть интересные идеи или комментарии, поделитесь ими здесь.

person Igor Lino    schedule 23.11.2016
comment
Я уже нашел способ сделать это. Я использую python3 с селеном, открываю новые окна Firefox (это решение лучше всего работает даже с несколькими окнами), перемещаю его на определенный экран (согласно координатам), эмулирую f11, чтобы сделать его полноэкранным. - person Marius Pfeffer; 28.11.2016