Почему программа / браузер, работающий без GUI, называется Headless? - PullRequest
0 голосов
/ 15 февраля 2020

Мне интересно, почему без головы означает "без GUI". Какова этимология без головы ? Кажется, нет никакой связи между головой и GUI.

Ответы [ 2 ]

1 голос
/ 15 февраля 2020

Безголовый в этом контексте будет упоминаться как «без зрения». У курицы без головы или у компании без головы нет головы, поэтому у нее нет зрения, однако она все еще может функционировать. Selenium имеет режимы безголового браузера для программистов, которые хотели бы тестировать код без пользовательского интерфейса браузера, чтобы показать функциональность браузера без «сознания пользователя».

Первая запись в стеке! Rah!

0 голосов
/ 15 февраля 2020

С точки зрения , Без головы Chrome - это способ запустить браузер в без головы среда, которая, по сути, работает Chrome без chrome. Это инструмент для автоматизированного тестирования и серверных сред, где вам не нужна видимая оболочка пользовательского интерфейса.

Концепция Без головы Chrome была реализована через --headless переключатель времени выполнения , который будет использовать обычный двоичный файл Chrome в качестве автономного. Когда двоичный файл будет запущен с этим переключателем, главная точка входа будет вызывать точку входа Headless Shell , эффективно запуская эту оболочку вместо Chrome. Чтобы сделать это возможным, Chromium Team удалила зависимость с Headless до Ozone, так как Ozone - это функция времени сборки, которая обычно не включена для обычных Chrome сборок. По сути, это означало реализацию нового WindowTreeHost, специфичного для безголовых, и изменение различных графических и входных точек входа для выполнения чего-то подходящего в безголовом режиме. Хотя большая часть кода была указана в платформе c, основной целью было дать оболочке возможность использовать профиль в памяти, полностью независимый от фактического профиля пользователя.

Существует три основных изменения. для --headless были:

  • Превращение Headless Shell в встраиваемую библиотеку (вместо автономного приложения).
  • Основная точка входа Chrome должна отправляться в точку входа Headless Shell, когда --headless используется, то есть запускает Headless Shell вместо обычного Chrome UI.
  • Изменения платформы c, чтобы избежать системных зависимостей окон в режиме без головы.
  • Где в качестве Кроссплатформенный изменения были в:
    • chrome/chrome_main.cc: отправка в HeadlessShellMain () при запуске с --headless.
    • content/browser/compositor/gpu_process_transport_factory.cc: использование программного устройства вывода в режиме без головы.

Ссылки

Пара ссылок:

...