我很好奇为什么headless的意思是“没有GUI”。 headless的词源是什么?头和GUI之间似乎没有任何关系。
在这种情况下,无头将被称为“无视”。没有头的鸡,或者没有头的公司,就没有头,因此就没有视线,但是仍然可以发挥作用。对于希望在没有浏览器ui的情况下测试代码以表示没有“用户意识”的浏览器功能的程序员,Selenium具有无头浏览器模式。
第一堆帖子!拉!
从chromium的角度来看,Headless Chrome是在headless环境中运行google-chrome浏览器的一种方法,该环境实际上是在没有Chrome的情况下运行Chrome。它是用于不需要可见UI外壳的自动化测试和服务器环境的工具。
Headless Chrome的概念是通过implemented 运行时开关的--headless
,它将使用常规的Chrome二进制文件作为无头文件。当使用此开关启动二进制文件时,主入口点将调用Headless Shell入口点,从而有效地启动该外壳而不是Chrome。为了使之成为可能,Chromium Team从Headless
到Ozone
的依赖项已删除,因为Ozone是一种构建时功能,通常不为常规Chrome构建所启用。从本质上讲,这意味着实施新的无头特定WindowTreeHost
并修改各种图形和输入入口点以在无头模式下执行适当的操作。尽管其中很多都是特定于平台的代码,但主要目的是使Shell使用内存中的配置文件,而该配置文件完全独立于用户的实际配置文件。
--headless
有三个主要更改是:
chrome/chrome_main.cc
:使用--headless启动时,调度到HeadlessShellMain()中。content/browser/compositor/gpu_process_transport_factory.cc
:在无头模式下使用软件输出设备。一些参考: