为什么没有GUI的程序/浏览器称为Headless?

问题描述 投票:0回答:2

我很好奇为什么headless的意思是“没有GUI”。 headless的词源是什么?头和GUI之间似乎没有任何关系。

selenium google-chrome headless google-chrome-headless headless-browser
2个回答
0
投票

在这种情况下,无头将被称为“无视”。没有头的鸡,或者没有头的公司,就没有头,因此就没有视线,但是仍然可以发挥作用。对于希望在没有浏览器ui的情况下测试代码以表示没有“用户意识”的浏览器功能的程序员,Selenium具有无头浏览器模式。

第一堆帖子!拉!


0
投票

的角度来看,Headless Chrome是在headless环境中运行浏览器的一种方法,该环境实际上是在没有Chrome的情况下运行Chrome。它是用于不需要可见UI外壳的自动化测试和服务器环境的工具。

Headless Chrome的概念是通过implemented 运行时开关--headless,它将使用常规的Chrome二进制文件作为无头文件。当使用此开关启动二进制文件时,主入口点将调用Headless Shell入口点,从而有效地启动该外壳而不是Chrome。为了使之成为可能,Chromium TeamHeadlessOzone的依赖项已删除,因为Ozone是一种构建时功能,通常不为常规Chrome构建所启用。从本质上讲,这意味着实施新的无头特定WindowTreeHost并修改各种图形和输入入口点以在无头模式下执行适当的操作。尽管其中很多都是特定于平台的代码,但主要目的是使Shell使用内存中的配置文件,而该配置文件完全独立于用户的实际配置文件。

--headless有三个主要更改是:

  • 将无头壳转换为可嵌入的库(而不是独立的应用程序)。
  • [当使用--headless时,即应启动Headless Shell而不是常规的Chrome UI,主要的Chrome入口点应调度到Headless Shell入口点。
  • 特定于平台的更改,以避免在无头模式下依赖于窗口系统。
  • 跨平台的更改之处在于:
    • [chrome/chrome_main.cc:使用--headless启动时,调度到HeadlessShellMain()中。
    • [content/browser/compositor/gpu_process_transport_factory.cc:在无头模式下使用软件输出设备。

参考

一些参考:

© www.soinside.com 2019 - 2024. All rights reserved.